Self-hosted retro game emulator setup powered by RomM and Docker Compose. Browse, manage, and play your ROM collection from a web UI.
- Install Docker Desktop and make sure it's running.
- Add your ROMs to the library folders (see Folder Structure).
- Start with supplied scripts
| Script | Action |
|---|---|
win-start.bat |
Starts Docker (if needed), launches the stack, and opens the UI |
win-stop.bat |
Stops the stack (docker compose down) |
win-update to latest version.bat |
Pulls the latest images and restarts the stack |
ROMs are organized under data/library/ by system:
data/
├── library/ # ROM files, grouped by system
│ ├── arcade/ # roms/ + bios/
│ ├── neogeoaes/ # roms/ + bios/
│ └── ../ # roms/
- Metadata providers (Screenscraper, RetroAchievements, SteamGridDB, etc.) can be enabled by setting their API keys in
docker-compose.yaml. - Credentials for the database are defined in
docker-compose.yaml(seepasswords.txt). - Optional
config.ymllives indata/config/.