# RomM Automation / Intake TrueNAS example environment # Copy to romm-automation.env on TrueNAS/Portainer and fill real values. # Do not commit real secrets. This repo ignores *.env files. TZ=America/Chicago PUID=568 PGID=568 # TrueNAS Docker dataset root. This follows the current TrueNAS promotion pattern. TRUENAS_DOCKER_ROOT=/mnt/HomeStorage02/Docker # Existing production RomM library path on TrueNAS. # This should be the path that contains RomM's library folders such as roms/, bios/, etc. # Example only; adjust to the real RomM dataset/path. ROMM_LIBRARY_PATH=/mnt/HomeStorage02/Docker/RomM/library # Published ports on the TrueNAS Docker host GGREQUESTZ_PORT=3003 ROMARR_PORT=9797 PROWLARR_PORT=9896 QBITTORRENT_PORT=8380 HOMARR_PORT=7775 # Optional Compose profiles. # Start blank or validation-only first. Add romarr only after ROMARR_IMAGE is confirmed. # Valid values: romarr,discord,validation or comma-separated combinations. COMPOSE_PROFILES=validation # Import worker: watches a single landing folder at staging/incoming, infers the # RomM platform when safe, imports into RomM, then triggers RomM's scan_library # task. Keep immediate scan enabled while testing; later we can debounce/batch # scans if needed. ROMM_SCAN_AFTER_IMPORT=true IMPORT_POLL_SECONDS=60 IMPORT_QUIET_IDLE=true # Optional JSON extension/platform overrides for ambiguous file types. # Example: {".iso":"ngc",".chd":"psx"} IMPORT_PLATFORM_MAP_JSON={} # GG Requestz support services GGREQUESTZ_POSTGRES_DB=ggrequestz GGREQUESTZ_POSTGRES_USER=ggrequestz GGREQUESTZ_POSTGRES_PASSWORD=change_me_generate_long_random GGREQUESTZ_REDIS_PASSWORD=change_me_generate_long_random GGREQUESTZ_TYPESENSE_API_KEY=change_me_generate_long_random GGREQUESTZ_SESSION_SECRET=change_me_generate_32_plus_chars GGREQUESTZ_AUTH_METHOD=basic GGREQUESTZ_PUBLIC_SITE_URL=http://your-truenas-host:3003 # Optional Authentik/OIDC later. Leave blank for basic auth first. GGREQUESTZ_AUTHENTIK_CLIENT_ID= GGREQUESTZ_AUTHENTIK_CLIENT_SECRET= GGREQUESTZ_AUTHENTIK_ISSUER= # IGDB/Twitch credentials required by GG Requestz and useful for RomM-ComM requests. IGDB_CLIENT_ID=fill_me IGDB_CLIENT_SECRET=fill_me # Existing RomM connection. ROMM_SERVER_URL=http://your-romm-host:port ROMM_USERNAME=fill_me ROMM_PASSWORD=fill_me # Optional but recommended for the import worker scan trigger. Create a RomM API # token with the Run tasks / tasks.run permission and paste it in the real env. # Username/password may pass basic library checks but still receive HTTP 403 when # trying to run /api/tasks/run/scan_library without this scope. ROMM_API_TOKEN= # Romarr image. Upstream docs list romarr/romarr:latest, but the public image was not pullable # when this scaffold was created. Override this if we build/publish a local image. ROMARR_IMAGE=romarr/romarr:latest # Existing Arr stack connections for manual configuration inside Romarr/GG Requestz. # These are documented here for setup reference; the apps may store them internally after UI config. PROWLARR_URL=http://your-prowlarr-host:9696 QBITTORRENT_URL=http://your-vpn-qbit-host:8080 QBITTORRENT_CATEGORY=romarr # Homarr. Generate with: openssl rand -hex 32 HOMARR_SECRET_KEY=change_me_generate_64_hex_chars # RomM-ComM / Discord bot. Only needed if starting the discord profile. ROMMCOMM_DISCORD_TOKEN=fill_me ROMMCOMM_GUILD_ID=fill_me ROMMCOMM_ADMIN_ID= ROMMCOMM_DOMAIN= ROMMCOMM_CHANNEL_ID= ROMMCOMM_RECENT_ROMS_CHANNEL_ID= ROMMCOMM_REQUESTS_ENABLED=true ROMMCOMM_RECENT_ROMS_ENABLED=true ROMMCOMM_GGREQUESTZ_ENABLED=true GGREQUESTZ_API_KEY=