diff --git a/media/.env.example b/media/.env.example index a0dbf3f..f43014d 100644 --- a/media/.env.example +++ b/media/.env.example @@ -17,6 +17,8 @@ SEERR_DB_PASS=changeme GAMEVAULT_DB_NAME=gamevault GAMEVAULT_DB_USER=gamevault GAMEVAULT_DB_PASS=changeme +METADATA_IGDB_CLIENT_ID=changeme +METADATA_IGDB_CLIENT_SECRET=changeme # RomM dedicated MariaDB target on the PD media stack ROMM_DB_ROOT_PASSWORD=changeme diff --git a/media/docker-compose.yaml b/media/docker-compose.yaml index 0ea0b40..56c25aa 100644 --- a/media/docker-compose.yaml +++ b/media/docker-compose.yaml @@ -28,6 +28,25 @@ services: retries: 5 start_period: 30s + gamevault-db: + container_name: gamevault-db + image: postgres:17 + restart: unless-stopped + networks: + - media-net + environment: + POSTGRES_USER: ${GAMEVAULT_DB_USER} + POSTGRES_PASSWORD: ${GAMEVAULT_DB_PASS} + POSTGRES_DB: gamevault + volumes: + - /mnt/docker-ssd/docker/appdata/gamevault-db/postgres:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${GAMEVAULT_DB_USER} -d gamevault"] + interval: 30s + timeout: 10s + retries: 5 + start_period: 30s + plex: container_name: ix-plex-plex-1 image: lscr.io/linuxserver/plex:latest @@ -108,6 +127,48 @@ services: retries: 3 start_period: 30s + gamevault: + container_name: gamevault + user: "99:100" + image: phalcode/gamevault-backend:latest + restart: unless-stopped + networks: + - media-net + - ix-databases_shared-databases + - pangolin + ports: + - "8785:8080" + environment: + TZ: ${TZ} + PUID: 99 + PGID: 100 + NODE_ENV: production + DB_HOST: gamevault-db + DB_PORT: 5432 + DB_USERNAME: ${GAMEVAULT_DB_USER} + DB_PASSWORD: ${GAMEVAULT_DB_PASS} + SAVEFILES_ENABLED: "true" + MEDIA_GC_INTERVAL_IN_MINUTES: 60 + METADATA_IGDB_ENABLED: "true" + METADATA_IGDB_CLIENT_ID: ${METADATA_IGDB_CLIENT_ID} + METADATA_IGDB_CLIENT_SECRET: ${METADATA_IGDB_CLIENT_SECRET} + RAWG_API_URL: https://rawg2steam.phalco.de/api + RAWG_API_CACHE_DAYS: 36500 + SERVER_PORT: 8080 + SERVER_HTTPS_PORT: 8443 + YES: "yes" + volumes: + - /mnt/unraid/data/media/Games-Apps Isos:/files + - /mnt/unraid/data/media/Saved Games:/savefiles + - /mnt/docker-ssd/docker/appdata/gamevault/media:/media + - /mnt/docker-ssd/docker/appdata/gamevault/logs:/logs + healthcheck: + test: ["CMD-SHELL", "curl -f http://localhost:$${SERVER_PORT}/api/status || exit 1"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 300s + seerr: container_name: seerr image: ghcr.io/seerr-team/seerr:latest