rommapp_docs/docs/API-and-Development/Development-Setup.md
2025-10-26 22:19:45 -04:00

42 lines
1.0 KiB
Markdown

# Setting up RomM for development
Docker provides a quick and easy way to get started with RomM by encapsulating all dependencies within Docker containers. This guide will walk you through the process of setting up RomM for development using Docker.
## Environment setup
### Create the mock structure with at least one rom and empty config for manual testing
```sh
mkdir -p romm_mock/library/roms/switch
touch romm_mock/library/roms/switch/metroid.xci
mkdir -p romm_mock/resources
mkdir -p romm_mock/assets
mkdir -p romm_mock/config
touch romm_mock/config/config.yml
```
### Copy env.template to .env and fill the variables
```sh
cp env.template .env
```
```dotenv
ROMM_BASE_PATH=/app/romm
DEV_MODE=true
```
### Build the image
```sh
docker compose build # or `docker compose build --no-cache` to rebuild from scratch
```
### Spin up the Docker containers
```sh
docker compose up -d
```
And you're done! You can access the app at `http://localhost:3000`. Any changes made to the code will be automatically reflected in the app thanks to the volume mounts.