Environment Variables
This is a complete list of available environment variables; required variables are marked with a ✓
.
Tip
You can also set environment variables with a _FILE
suffix, which will load the contents of the file specified in the variable into the variable without the suffix. For example, setting ROMM_AUTH_SECRET_KEY_FILE=/run/secrets/romm_auth_secret_key
and creating a file with the secret key at the specified path will set ROMM_AUTH_SECRET_KEY
to the contents of the file. Learn more.
Application settings
Variable | Description | Required | Default |
---|---|---|---|
ROMM_AUTH_SECRET_KEY | Generate a key with openssl rand -hex 32 |
✓ | |
DISABLE_CSRF_PROTECTION | Disables CSRF protection (not recommended) | false |
|
DISABLE_DOWNLOAD_ENDPOINT_AUTH | Disable auth on download endpoint (WebRcade, Tinfoil) | false |
|
DISABLE_USERPASS_LOGIN | Disables login with username and password (when using OIDC) | false |
|
SESSION_MAX_AGE_SECONDS | Maximum age of a session (in seconds) | 1209600 (14 days) |
|
KIOSK_MODE | Read-only mode for public displays or kiosks | false |
|
UPLOAD_TIMEOUT | Timeout for file uploads (in seconds) | 600 (10 minutes) |
|
SCAN_TIMEOUT | Timeout for the background scan/rescan tasks (in seconds) | 14400 (4 hours) |
|
TASK_TIMEOUT | Timeout for the the rest of the background tasks (in seconds) | 300 (5 minutes) |
|
DISABLE_EMULATOR_JS | Disables playing in browser with EmulatorJS | false |
|
DISABLE_RUFFLE_RS | Disables playing flash games with RuffleRS | false |
|
YOUTUBE_BASE_URL | Base URL for alternate frontends (Piped, Invidious, etc.) | https://www.youtube.com |
|
TZ | Sets the timezone | UTC |
|
ROMM_PORT | Port on which the application listens | 8080 |
|
ROMM_BASE_PATH | Base folder path for library, resources and assets | /romm |
|
ROMM_BASE_URL | Base url for properly display container logs links (like register or recover password) | 0.0.0.0 |
|
LOGLEVEL | Logging level for the app | INFO |
|
FORCE_COLOR | Forces color output | false |
|
NO_COLOR | Disables color output | false |
|
WEB_SERVER_CONCURRENCY | Number of processes running the app | 1 |
|
WEB_SERVER_KEEPALIVE | Waiting time for requests on a Keep-Alive connection (in seconds) | 2 |
|
WEB_SERVER_MAX_REQUESTS | Maximum number of requests a worker will process before restarting | 1000 |
|
WEB_SERVER_MAX_REQUESTS_JITTER | Random jitter to add to the maximum number of requests a worker will process before restarting | 100 |
|
WEB_SERVER_TIMEOUT | Timeout for web server requests (in seconds) | 300 |
|
WEB_SERVER_WORKER_CONNECTIONS | Maximum number of simultaneous clients a single process can handle | 1000 |
Dependencies
Variable | Description | Required | Default |
---|---|---|---|
DB_HOST | Host name of database instance | ✓ | 127.0.0.1 |
DB_PORT | Port number of database instance | 3306 |
|
DB_NAME | Should match MYSQL_DATABASE in MariaDB | romm |
|
DB_USER | Database username (in MariaDB, should match MARIADB_USER) | ✓ | |
DB_PASSWD | Database password (in MariaDB, should match MARIADB_PASSWORD) | ✓ | |
DB_QUERY_JSON | Extra query parameters for the database connection, in JSON format (e.g. {"unix_socket": "/path/to/db"} ) |
||
ROMM_DB_DRIVER | Database driver to use (options: mariadb , mysql , postgresql ) |
mariadb |
|
REDIS_HOST | Host name of Redis/Valkey instance | 127.0.0.1 |
|
REDIS_PORT | Port number of Redis/Valkey instance | 6379 |
|
REDIS_USERNAME | Username for Redis/Valkey instance | ||
REDIS_PASSWORD | Password for Redis/Valkey instance | ||
REDIS_DB | Database number for Redis/Valkey instance | 0 |
|
REDIS_SSL | Enable SSL for Redis instance | false |
|
SENTRY_DSN | DSN for Sentry error tracking |
Metadata providers
Variable | Description | Required | Default |
---|---|---|---|
IGDB_CLIENT_ID | Client ID for IGDB API | ||
IGDB_CLIENT_SECRET | Client secret for IGDB API | ||
SCREENSCRAPER_USER | Screenscraper username | ||
SCREENSCRAPER_PASSWORD | Screenscraper password | ||
MOBYGAMES_API_KEY | MobyGames secret API key | ||
STEAMGRIDDB_API_KEY | SteamGridDB secret API key | ||
RETROACHIEVEMENTS_API_KEY | Retroachievements secret API key | ||
REFRESH_RETROACHIEVEMENTS_CACHE_DAYS | Retroachievements metadata cache refresh (in days) | 30 |
|
LAUNCHBOX_API_ENABLED | Enable LaunchBox API integration | false |
|
PLAYMATCH_API_ENABLED | Enable PlayMatch API integration | false |
|
HASHEOUS_API_ENABLED | Enable Hasheous API integration | false |
Authentication
Variable | Description | Required | Default |
---|---|---|---|
OIDC_ENABLED | Enable OpenID Connect (OIDC) authentication | false |
|
OIDC_PROVIDER | Name of the OIDC provider in use | ||
OIDC_CLIENT_ID | Client ID for OIDC authentication | ||
OIDC_CLIENT_SECRET | Client secret for OIDC authentication | ||
OIDC_REDIRECT_URI | Absolute redirect URI for OIDC authentication | ||
OIDC_SERVER_APPLICATION_URL | Absolute URL of the OIDC server application | ||
OIDC_TLS_CACERTFILE | Path to a file containing trusted CA certificates |
Background tasks
Variable | Description | Required | Default |
---|---|---|---|
ENABLE_RESCAN_ON_FILESYSTEM_CHANGE | Enable re-scanning of library when filesystem changes | false |
|
RESCAN_ON_FILESYSTEM_CHANGE_DELAY | Delay before re-scanning library when filesystem changes (in minutes) | 5 |
|
ENABLE_SCHEDULED_RESCAN | Enable scheduled re-scanning of library | false |
|
SCHEDULED_RESCAN_CRON | Cron expression for scheduled re-scanning | "0 3 * * *" |
|
ENABLE_SCHEDULED_UPDATE_SWITCH_TITLEDB | Enable scheduled updating of Switch TitleDB index | false |
|
SCHEDULED_UPDATE_SWITCH_TITLEDB_CRON | Cron expression for scheduled updating of Switch TitleDB | "0 4 * * *" |
|
ENABLE_SCHEDULED_UPDATE_LAUNCHBOX_METADATA | Enable scheduled updating of LaunchBox metadata | false |
|
SCHEDULED_UPDATE_LAUNCHBOX_METADATA_CRON | Cron expression for scheduled updating of LaunchBox metadata | "0 4 * * *" |
|
ENABLE_SCHEDULED_CONVERT_IMAGES_TO_WEBP | Enable scheduled conversion of images to WebP format | false |
|
SCHEDULED_CONVERT_IMAGES_TO_WEBP_CRON | Cron expression for scheduled conversion of images to WebP format | "0 4 * * *" |
|
ENABLE_SCHEDULED_RETROACHIEVEMENTS_PROGRESS_SYNC | Enable scheduled syncing of Retroachievements progress | false |
|
SCHEDULED_RETROACHIEVEMENTS_PROGRESS_SYNC_CRON | Cron expression for scheduled syncing of Retroachievements progress | "0 4 * * *" |
Development
Variable | Description | Required | Default |
---|---|---|---|
DEV_MODE | Enable development mode (debugging, hot-reloading) | false |
|
DEV_HOST | Host for development server | 127.0.0.1 |
|
DEV_PORT | Port for development server | 5000 |
|
DEV_SQL_ECHO | Enable SQL query logging in development mode | false |