version: "3" volumes: mysql_data: romm_resources: romm_redis_data: services: romm: image: rommapp/romm:latest container_name: romm restart: unless-stopped environment: - DB_HOST=romm-db - DB_NAME=romm # Should match MARIADB_DATABASE in mariadb - DB_USER=romm-user # Should match MARIADB_USER in mariadb - DB_PASSWD= # Should match MARIADB_PASSWORD in mariadb - ROMM_AUTH_SECRET_KEY= # Generate a key with `openssl rand -hex 32` - SCREENSCRAPER_USER= # These are the recommended metadata providers - SCREENSCRAPER_PASSWORD= # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#screenscraper - RETROACHIEVEMENTS_API_KEY= # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#retroachievements - STEAMGRIDDB_API_KEY= # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#steamgriddb - HASHEOUS_API_ENABLED=true # https://docs.romm.app/latest/Getting-Started/Metadata-Providers/#hasheous volumes: - romm_resources:/romm/resources # Resources fetched from IGDB (covers, screenshots, etc.) - romm_redis_data:/redis-data # Cached data for background tasks - /path/to/library:/romm/library # Your game library. Check https://docs.romm.app/latest/Getting-Started/Folder-Structure/ for more details. - /path/to/assets:/romm/assets # Uploaded saves, states, etc. - /path/to/config:/romm/config # (Optional) Path where config.yml is stored ports: - 80:8080 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= # Use a unique, secure password - MARIADB_DATABASE=romm - MARIADB_USER=romm-user - MARIADB_PASSWORD= volumes: - mysql_data:/var/lib/mysql healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] start_period: 30s start_interval: 10s interval: 10s timeout: 5s retries: 5