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). Also supports a country code in ISO 3166-1 (e.g., en-US). Metadata is cached for a few hours in Redis. You may need to clear the cache to see the new language immediately.
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.
ANILIST_NSFW
Default to False. Set to True to include adult content in anime and manga searches from AniList.
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. Custom values must include the Bearer prefix.
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.
AniList
AniList allows its data to be used in self-hosted instances, but not in instances open to the public. Don't offer AniList as a source on an instance anyone can sign up to.
Default to redis://localhost:6379. Set this to your Redis server URL, in the format of redis://{service}:{port}. In the Docker Compose examples this is redis://redis:6379. If Yamtrack shares a Docker network with another container or service named redis, use the Yamtrack Redis container name instead: redis://yamtrack-redis:6379.
CELERY_REDIS_URL
Default to the value of REDIS_URL. Set this to your Redis server URL for Celery if you need a different value than REDIS_URL.
REDIS_PREFIX
Optional prefix for Redis keys and channels to enable isolation when sharing a Redis instance across multiple applications. Useful for ACL-based permission control.
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.
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 Docs 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.
YAMTRACK_AUTO_LOGIN_USERNAME
Default to None, which disables this feature. Specify a username to automatically login with the selected user. The user needs to be existing and active.
YAMTRACK_INTERNAL_PORT
ADVANCED. Port nginx listens on inside the container. Default to 8000. Only needed when 8000 is already taken, typically when the container shares another service's network namespace (e.g. network_mode: service:gluetun). See the example below.
Example: sharing a network namespace (e.g. gluetun)¶
When a container joins another service's network namespace via
network_mode: service:<name>, it can no longer publish its own ports: — it
must instead listen on a port that is free inside that namespace. Set
YAMTRACK_INTERNAL_PORT to change what nginx listens on:
services:yamtrack:image:ghcr.io/fuzzygrim/yamtrackenvironment:# ... the rest of the Yamtrack variables-YAMTRACK_INTERNAL_PORT=9117network_mode:service:gluetundepends_on:-gluetungluetun:ports:-"9117:9117"
The hostname or IP address of the PostgreSQL server, or the directory of its Unix socket. If omitted, SQLite is used as the default database.
DB_PORT
The port number on which the PostgreSQL server is listening. Optional; if omitted, the PostgreSQL client's default is used.
DB_NAME
The name of the database to connect to. Required when using PostgreSQL.
DB_USER
The username used to authenticate with the PostgreSQL server. Optional; if omitted, the OS user running the process is used.
DB_PASSWORD
The password for the specified user. Optional; not needed for local Unix socket connections using peer/ident authentication.
DB_POOL_MIN_SIZE
Default to 1. Minimum number of connections each process keeps open in its connection pool.
DB_POOL_MAX_SIZE
Default to 4. Maximum number of connections each process can open in its connection pool.
Note: Check the example docker-compose.postgres.yml in the root directory of the repo for a PostgreSQL configuration example.
Connecting via a local Unix socket: set DB_HOST to the directory containing the PostgreSQL socket (e.g. DB_HOST=/run/postgresql). DB_PORT, DB_USER, and DB_PASSWORD can be omitted in this setup, in which case the PostgreSQL client defaults are used (port 5432 and the OS user running Yamtrack), so only DB_NAME must be set:
DB_HOST=/run/postgresql
DB_NAME=yamtrack
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.
YamTrack supports reading sensitive configuration values from Docker secrets files. The following environment variables can alternatively be provided as secrets:
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.