Files
romm/examples/docker-compose.example.yml
2023-11-01 18:43:35 +01:00

73 lines
3.3 KiB
YAML

version: "3"
volumes:
mysql_data:
services:
romm:
image: zurdi15/romm:latest
container_name: romm
environment:
- ROMM_DB_DRIVER=mariadb # mariadb | sqlite (default: sqlite)
# [Optional] Only required if using MariaDB as the database
- DB_HOST=romm_db
- DB_PORT=3306
- DB_USER=romm-user
- DB_NAME=romm # Should match the MYSQL_DATABASE value in the mariadb container
- DB_PASSWD=<database password>
- IGDB_CLIENT_ID=<IGDB client id>
- IGDB_CLIENT_SECRET=<IGDB client secret>
# [Optional - WIP] Use SteamGridDB as a source for covers
# - STEAMGRIDDB_API_KEY=<SteamGridDB api key>
# [Optional] Will enable user management and require authentication to access the interface (disabled by default)
- ROMM_AUTH_ENABLED=true # default: false
- ROMM_AUTH_SECRET_KEY=<secret key> # Generate a key with `openssl rand -hex 32`
- ROMM_AUTH_USERNAME=admin # default: admin
- ROMM_AUTH_PASSWORD=<admin password> # default: admin
# [Optional] Only required if authentication is enabled
- ENABLE_EXPERIMENTAL_REDIS=true # default: false
- REDIS_HOST=redis # default: localhost
- REDIS_PORT=6379 # default: 6379
- REDIS_PASSWORD=<redis password> # [Optional] Support for secured redis
# [Optional] Will enable asynchronous tasks (all disabled by default)
- ENABLE_RESCAN_ON_FILESYSTEM_CHANGE=true # Runs a quick scan on the library when a file is added or removed
- RESCAN_ON_FILESYSTEM_CHANGE_DELAY=5 # Delay in seconds before running the quick scan (default: 5)
- ENABLE_SCHEDULED_RESCAN=true # Runs a quick scan on the library at a given time
- SCHEDULED_RESCAN_CRON=0 3 * * * # Cron expression for the scheduled scan (default: 0 3 * * * - At 3:00 AM every day)
- ENABLE_SCHEDULED_UPDATE_SWITCH_TITLEDB=true # Updates the Switch TitleDB database at a given time
- SCHEDULED_UPDATE_SWITCH_TITLEDB_CRON=0 4 * * * # Cron expression for the scheduled update (default: 0 4 * * * - At 4:00 AM every day)
- ENABLE_SCHEDULED_UPDATE_MAME_XML=true # Updates the MAME XML database at a given time
- SCHEDULED_UPDATE_MAME_XML_CRON=0 5 * * * # Cron expression for the scheduled update (default: 0 5 * * * - At 5:00 AM every day)
volumes:
- "/path/to/library:/romm/library"
- "/path/to/resources:/romm/resources" # [Optional] Path where roms metadata (covers) are stored
- "/path/to/config.yml:/romm/config.yml" # [Optional] Path where config is stored
- "/path/to/database:/romm/database" # [Optional] Only needed if ROMM_DB_DRIVER=sqlite or not set
- "/path/to/logs:/romm/logs" # [Optional] Path where logs are stored
ports:
- 80:8080
depends_on:
- romm_db
restart: "unless-stopped"
# [Optional] Only required if using MariaDB as the database
romm_db:
image: mariadb:latest
container_name: romm_db
environment:
- MYSQL_ROOT_PASSWORD=<root password>
- MYSQL_DATABASE=romm
- MYSQL_USER=romm-user
- MYSQL_PASSWORD=<database password>
volumes:
- mysql_data:/var/lib/mysql # Can also be mounted locally
ports:
- 3306:3306
restart: "unless-stopped"
# [Optional] Only required if experimental Redis is enabled
redis:
image: redis:alpine
container_name: redis
restart: unless-stopped
ports:
- 6379:6379