Skip to content

Environment Variables

Xila Cai edited this page Jul 27, 2025 · 10 revisions

This page outlines the environment variables used in the YamTrack project.

Media Sources

Name Notes
TMDB_API The Movie Database API key for movies and TV shows. A default key is provided.
TMDB_NSFW Default to False. Set to True to include adult content in TV and movie searches.
TMDB_LANG TMDB metadata language. Uses a language code in ISO 639-1 (e.g., en). For more specific results, a country code in ISO 3166-1 can be added (e.g., en-US).
MAL_API MyAnimeList API key for anime and manga. A default key is provided.
MAL_NSFW Default to False. Set to True to include adult content in anime and manga searches from MyAnimeList.
MU_NSFW Default to False. Set to True to include adult content in manga searches from MangaUpdates.
IGDB_ID IGDB API key for games. A default key is provided, but it's recommended to get your own as it has a low rate limit.
IGDB_SECRET IGDB API secret for games. A default value is provided, but it's recommended to get your own as it has a low rate limit.
IGDB_NSFW Default to False. Set to True to include adult content in game searches.
HARDCOVER_API Hardcover API key for books. A default key is provided, but it's recommended to get your own as it has a low rate limit.
COMICVINE_API ComicVine API key for comics. A default key is provided, but it's recommended to get your own as it has a low rate limit.

Media Import

Name Notes
TRAKT_API Trakt Client ID, only needed for importing media from Trakt. A default value is provided.
SIMKL_ID Simkl API key, only needed for importing media from Simkl. A default key is provided, but you can get one at Simkl Developer if needed.
SIMKL_SECRET Simkl API secret for importing media from Simkl. A default secret is provided, but you can get one at Simkl Developer if needed.

Redis and Django Settings

Name Notes
REDIS_URL Default to redis://localhost:6379. Redis is needed for processing background tasks. Set this to your Redis server URL.
SECRET Secret key used for cryptographic signing. Should be a random string.
URLS Shortcut to set both the CSRF and ALLOWED_HOSTS settings. Comma-separated list of URLs (e.g., https://yamtrack.mydomain.com).
ALLOWED_HOSTS Comma-separated list of host/domain names that this Django site can serve (e.g., yamtrack.mydomain.com). Default to * for all hosts.
CSRF Comma-separated list of trusted origins for POST requests when using reverse proxies (e.g., https://yamtrack.mydomain.com).
REGISTRATION Default to True. Set to False to disable user registration.
DEBUG Default to False. Set to True for debugging.
ADMIN_ENABLED Default to False. Set to True to enable the Django admin interface.
TRACK_TIME Default to True. Set to False to disable time tracking in Yamtrack.

User and System Configuration

Name Notes
PUID User ID for the app. Default to 1000.
PGID Group ID for the app. Default to 1000.
TZ Timezone (e.g., Europe/Berlin). Default to UTC.
WEB_CONCURRENCY Number of web server processes. Default to 1, but it's recommended to have a value of (2 x num cores) + 1.
SOCIAL_PROVIDERS Comma-separated list of social authentication providers to enable (e.g., allauth.socialaccount.providers.openid_connect,allauth.socialaccount.providers.github).
SOCIALACCOUNT_PROVIDERS JSON configuration for social providers. See the Wiki for an OIDC configuration example.
ACCOUNT_DEFAULT_HTTP_PROTOCOL Protocol for social providers. If your redirect_uri in OIDC config is https, set this to https. Default is determined based on your CSRF settings.
ACCOUNT_LOGOUT_REDIRECT_URL Absolute URL to redirect users after logout. Useful for OpenID Connect providers to ensure complete logout from the external authentication provider.
SOCIALACCOUNT_ONLY Default to False. Set to True to disable local authentication when using social authentication only.
REDIRECT_LOGIN_TO_SSO Default to False. Set to True to automatically redirect (using JavaScript) to the SSO provider when there's only one available. Useful for single sign-on setups.

Celery Health Check

Name Notes
HEALTHCHECK_CELERY_PING_TIMEOUT Default to 1. Increases the timeout for the health check ping to Celery. This is useful for slow connections.

PostgreSQL Environment Variables (YamTrack Container)

Name Notes
DB_HOST The hostname or IP address of the PostgreSQL server. If not set, SQLite is used as the default database.
DB_PORT The port number on which the PostgreSQL server is listening.
DB_NAME The name of the database to connect to.
DB_USER The username used to authenticate with the PostgreSQL server.
DB_PASSWORD The password for the specified user.

Note: Check the example docker-compose.postgres.yml in the root directory of the repo for a PostgreSQL configuration example.

External PostgreSQL database with SSL (YamTrack Container)

Name Notes
DB_SSL_MODE Determines whether or with what priority a secure SSL TCP/IP connection will be negotiated with the server. See the official documentation.
DB_SSL_CERT_MODE Determines whether a client certificate may be sent to the server, and whether the server is required to request one. See the official documentation.

Docker Secrets Support

YamTrack supports reading sensitive configuration values from Docker secrets files. The following environment variables can alternatively be provided as secrets:

Environment Variable Secret File Equivalent
SECRET SECRET_FILE
DB_NAME DB_NAME_FILE
DB_USER DB_USER_FILE
DB_PASSWORD DB_PASSWORD_FILE
TMDB_API TMDB_API_FILE
MAL_API MAL_API_FILE
IGDB_ID IGDB_ID_FILE
IGDB_SECRET IGDB_SECRET_FILE
HARDCOVER_API HARDCOVER_API_FILE
COMICVINE_API COMICVINE_API_FILE
TRAKT_API TRAKT_API_FILE
SIMKL_ID SIMKL_ID_FILE
SIMKL_SECRET SIMKL_SECRET_FILE
SOCIALACCOUNT_PROVIDERS SOCIALACCOUNT_PROVIDERS_FILE

Host under subpath

Name Notes
BASE_URL To host YamTrack under a subpath like https://example.com/yamtrack, set this to /yamtrack, without trailing slash.

Based on the GitHub issue discussion, I'll add the REQUESTS_CA_BUNDLE environment variable to your wiki documentation. This variable allows YamTrack to work with self-hosted authentication providers that use self-signed certificates.

Here's the updated section to add to your wiki:

Self-signed certificates

Name Notes
REQUESTS_CA_BUNDLE Path to a custom CA certificate bundle file for SSL verification. Useful for self-hosted authentication providers with self-signed certificates (e.g., /etc/ssl/certs/ca-certificates.crt). This requires the CA certificate to be present in the host's CA bundle.