#ReadAIrr Environment Variables
ReadAIrr still uses the inherited Readarr configuration namespace in the current app repo. Environment variables therefore use the READARR__... prefix even when the user-facing project name is ReadAIrr.
The pattern is:
READARR__CONFIGNAMESPACE__CONFIGITEM
For example, READARR__SERVER__PORT=8787 maps to the Readarr:Server:Port configuration value.
Do not rename these variables to
READAIRR__...unless the app code is changed first. The current app readsReadarr:App,Readarr:Auth,Readarr:Log,Readarr:Postgres,Readarr:Server, andReadarr:Update. {.is-warning}
#Configuration Namespaces
APP- application-specific settingsAUTH- authentication settingsLOG- logging configurationPOSTGRES- PostgreSQL database settingsSERVER- server and network settingsUPDATE- update mechanism settings
#Environment Variables Table
| Config Area | Option | Full Environment Variable |
|---|---|---|
APP |
InstanceName |
READARR__APP__INSTANCENAME |
APP |
Theme |
READARR__APP__THEME |
APP |
LaunchBrowser |
READARR__APP__LAUNCHBROWSER |
AUTH |
ApiKey |
READARR__AUTH__APIKEY |
AUTH |
Enabled |
READARR__AUTH__ENABLED |
AUTH |
Method |
READARR__AUTH__METHOD |
AUTH |
Required |
READARR__AUTH__REQUIRED |
AUTH |
TrustCgnatIpAddresses |
READARR__AUTH__TRUSTCGNATIPADDRESSES |
LOG |
Level |
READARR__LOG__LEVEL |
LOG |
FilterSentryEvents |
READARR__LOG__FILTERSENTRYEVENTS |
LOG |
Rotate |
READARR__LOG__ROTATE |
LOG |
Sql |
READARR__LOG__SQL |
LOG |
ConsoleLevel |
READARR__LOG__CONSOLELEVEL |
LOG |
AnalyticsEnabled |
READARR__LOG__ANALYTICSENABLED |
LOG |
SyslogServer |
READARR__LOG__SYSLOGSERVER |
LOG |
SyslogPort |
READARR__LOG__SYSLOGPORT |
LOG |
SyslogLevel |
READARR__LOG__SYSLOGLEVEL |
POSTGRES |
Host |
READARR__POSTGRES__HOST |
POSTGRES |
Port |
READARR__POSTGRES__PORT |
POSTGRES |
User |
READARR__POSTGRES__USER |
POSTGRES |
Password |
READARR__POSTGRES__PASSWORD |
POSTGRES |
MainDb |
READARR__POSTGRES__MAINDB |
POSTGRES |
LogDb |
READARR__POSTGRES__LOGDB |
POSTGRES |
CacheDb |
READARR__POSTGRES__CACHEDB |
SERVER |
UrlBase |
READARR__SERVER__URLBASE |
SERVER |
BindAddress |
READARR__SERVER__BINDADDRESS |
SERVER |
Port |
READARR__SERVER__PORT |
SERVER |
EnableSsl |
READARR__SERVER__ENABLESSL |
SERVER |
SslPort |
READARR__SERVER__SSLPORT |
SERVER |
SslCertPath |
READARR__SERVER__SSLCERTPATH |
SERVER |
SslCertPassword |
READARR__SERVER__SSLCERTPASSWORD |
UPDATE |
Mechanism |
READARR__UPDATE__MECHANISM |
UPDATE |
Automatically |
READARR__UPDATE__AUTOMATICALLY |
UPDATE |
ScriptPath |
READARR__UPDATE__SCRIPTPATH |
UPDATE |
Branch |
READARR__UPDATE__BRANCH |
The current app repo does not define READARR__LOG__SIZELIMIT, READARR__LOG__CONSOLEFORMAT, or READARR__LOG__DBENABLED. Public container channels are selected with the Docker image tag, not with these app config variables.
#Docker Compose Example
services:
readarr:
image: ghcr.io/readairr/app:prod
user: "99:100"
environment:
HOME: /config
TZ: America/Los_Angeles
UMASK: "022"
READARR__SERVER__URLBASE: /readarr
READARR__POSTGRES__HOST: postgres
READARR__POSTGRES__USER: readarr
READARR__POSTGRES__PASSWORD: readarr_password
READARR__POSTGRES__MAINDB: readarr-main
READARR__POSTGRES__LOGDB: readarr-log
READARR__POSTGRES__CACHEDB: readarr-cache
ports:
- "8787:8787"
volumes:
- /opt/arrs/config/readarr:/config
- /mnt/unraid/downloads:/downloads
- /mnt/unraid/audiobooks:/audiobooks
The first-party deploy/compose.yml in the app repo uses shell variables such as READARR_IMAGE, READARR_UID, READARR_GID, and READARR_PORT to configure Docker Compose itself. Those deployment variables are different from the READARR__... app configuration variables above. Use ghcr.io/readairr/app:prod for normal public installs, ghcr.io/readairr/app:val for validation builds, and ghcr.io/readairr/app:dev for active development.
#Native Shell Examples
Linux/macOS:
export READARR__SERVER__PORT=8787
export READARR__SERVER__URLBASE=/readarr
Windows:
set READARR__SERVER__PORT=8787
set READARR__SERVER__URLBASE=/readarr
Restart ReadAIrr after changing environment variables.