Getting Started
- Open
http://<SERVER-IP>in your browser. - The first startup may take some time.
- On the first visit, RomM will redirect you to the Setup Wizard.
- Complete the Setup Wizard.
- Create the administrator username and password.
- The first account created becomes the administrator.
ROM Library
- Place your ROM files in:
/root/romm/library/roms - Place BIOS files in:
/root/romm/library/bios - After adding games, run a library scan from the RomM web interface.
Metadata
- Hasheous metadata support lets RomM retrieve game metadata without requiring an API key.
- Additional metadata providers can be configured in:
/root/romm/.env
Important Files & Directories
- Install path:
/root/romm - Compose file:
/root/romm/docker-compose.yml - Environment file:
/root/romm/.env - ROM library:
/root/romm/library - ROMs:
/root/romm/library/roms - BIOS:
/root/romm/library/bios - Assets:
/root/romm/assets - Configuration:
/root/romm/config - Caddy configuration:
/etc/caddy/Caddyfile - MariaDB data:
/var/lib/docker/volumes/romm_mysql_data
Docker Management
View status:
docker ps
View logs:
cd /root/romm
docker compose logs -f
Restart services:
cd /root/romm
docker compose restart
Stop services:
cd /root/romm
docker compose down
Start services:
cd /root/romm
docker compose up -d
Domain & HTTPS (Caddy)
Note: TLS certificates from Let's Encrypt cannot be issued for IP addresses. A domain name is required.
1. Point a domain (e.g. example.com) to your server’s IP address.
2. Edit /root/romm/.env and update ROMM_BASE_URL:
BASE_URL=https://example.com
3. Recreate the services:
docker compose -f /root/romm/docker-compose.yml up -d
4. Update the site address in /etc/caddy/Caddyfile from http://<SERVER_IP> to your domain. Keep the existing compression, headers, and reverse-proxy configuration unchanged.
vim /etc/caddy/Caddyfile
Change:
http://<SERVER_IP> {
to:
example.com {
5. Reload Caddy:
systemctl reload caddy
6. Caddy will automatically obtain and renew a Let's Encrypt certificate.
7. Access RomM at: https://example.com