From 9d084f3f19cb14bc483251a0d900f756674dd7ac Mon Sep 17 00:00:00 2001 From: poprhythm Date: Sun, 8 Mar 2026 22:06:53 +0000 Subject: [PATCH] Add RomM retro game library manager MariaDB backend, library on NAS via /mnt/nas_games CIFS automount, EmulatorJS built-in for browser-based play. --- romm/docker-compose.yaml | 57 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 romm/docker-compose.yaml diff --git a/romm/docker-compose.yaml b/romm/docker-compose.yaml new file mode 100644 index 0000000..9cdb22d --- /dev/null +++ b/romm/docker-compose.yaml @@ -0,0 +1,57 @@ +networks: + npm-network: + external: true + romm-internal: + +services: + romm: + image: rommapp/romm:latest + container_name: romm + restart: unless-stopped + environment: + - TZ=America/New_York + - DB_HOST=romm-db + - DB_NAME=romm + - DB_USER=romm-user + - DB_PASSWD=${DB_PASSWD} + - ROMM_AUTH_SECRET_KEY=${ROMM_AUTH_SECRET_KEY} + # Metadata providers (all optional but recommended) + - SCREENSCRAPER_USER= + - SCREENSCRAPER_PASSWORD= + - RETROACHIEVEMENTS_API_KEY= + - STEAMGRIDDB_API_KEY= + - HASHEOUS_API_ENABLED=true + volumes: + - /mnt/nas_games:/romm/library # NAS: media/games → library root; roms/ subdir inside + - /srv/romm/assets:/romm/assets # Saves, states, screenshots + - /srv/romm/config:/romm/config # config.yml (optional) + - /srv/romm/resources:/romm/resources + - /srv/romm/redis:/redis-data + networks: + - npm-network + - romm-internal + depends_on: + romm-db: + condition: service_healthy + restart: true + + romm-db: + image: mariadb:latest + container_name: romm-db + restart: unless-stopped + environment: + - MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD} + - MARIADB_DATABASE=romm + - MARIADB_USER=romm-user + - MARIADB_PASSWORD=${MARIADB_PASSWORD} + volumes: + - /srv/romm/db:/var/lib/mysql + networks: + - romm-internal + healthcheck: + test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] + start_period: 30s + start_interval: 10s + interval: 10s + timeout: 5s + retries: 5