Skip to content

Configuration ​

Everything can be set in the app; no environment variables are needed. These are optional, for people who like their configuration in the compose file. A setting pinned by an environment variable shows as such and can't be changed in the app.

VariableDefaultWhat it does
PUID, PGID1000The user and group that own /config.
TZUTCTime zone for "today", streaks and reminders.
PORT7979The port inside the container.
PUBLIC_URLLearnarr's address behind an HTTPS reverse proxy. Turns on secure cookies.
TRUSTED_ORIGINSExtra addresses Learnarr is reached at, comma-separated, if sign-in fails with an origin error.
MEDIA_SERVERplex or jellyfin.
MEDIA_SERVER_URL, MEDIA_SERVER_TOKENThe media server's address and token or API key.
AI_PROVIDERopenai-compatible or anthropic.
AI_BASE_URL, AI_API_KEY, AI_MODELThe AI provider's address, key and model.
OPENSUBTITLES_API_KEYbuilt inUse your own OpenSubtitles.com API key instead of Learnarr's.
AUTH_SECRETgeneratedThe secret that signs sessions. Generated into /config/auth.key if unset.
ENCRYPTION_KEYgeneratedThe key secrets are encrypted with. Generated into /config/encryption.key if unset.
UDPIPE_BIN/opt/udpipe/udpipeWhere the lemmatiser binary is.
NTFY_URL, NTFY_TOKENhttps://ntfy.shThe ntfy server for notifications, and an access token for it.
REMINDER_HOUR18The hour (in TZ) practice reminders are sent.

The /config folder ​

FileWhat it is
learnarr.dbThe database: accounts, settings, subtitles, cards.
auth.key, encryption.keyGenerated keys. Back them up with the database.
push.jsonThe keys for web push notifications.
udpipe/models/Downloaded language models. Safe to delete; they download again when needed.

Free software under the GPL-3.0. Not affiliated with Sonarr, Radarr, Plex, Jellyfin or OpenSubtitles.