Environment variables
App settings live in config.json and are edited in the web UI (see the Configuration reference). These are set in your compose file:
| Env var | Default | Purpose |
|---|---|---|
WEBUI_HOST | 0.0.0.0 | Address the web UI listens on (see below) |
WEBUI_PORT | 8990 | Port the web UI listens on inside the container |
PUID / PGID | 1000 / 1000 | User/group the container runs as. Match your host user (id) so files on the config volume are owned by you |
TZ | UTC | Timezone for the schedule and backup.log timestamps |
UMASK | 077 | Permissions of new files: by default only the container user can read backups (0600/0700). Set 022 if another user on the host reads the backup folder |
LOG_LEVEL | INFO | Logging level for backup/restore runs, e.g. DEBUG |
BACKUPARR_SECRETS_KEY | (generated) | Replaces the generated secrets.key (see Encryption at rest), e.g. from a Docker secret |
RCLONE_CONFIG_PASS | (generated) | Replaces the generated password that encrypts rclone.conf |
BACKUPARR_DISABLE_AUTH | false | true turns off local login behind an authenticating reverse proxy - see Login |
BACKUPARR_FORCE_HTTPS | false | Set true behind your own TLS reverse proxy: secure session cookie, and trusts X-Forwarded-Proto (needed for Google Drive’s https:// redirect URI). Leave unset on plain HTTP, or login fails |
BACKUPARR_TRUSTED_PROXY | (none) | With BACKUPARR_FORCE_HTTPS: your proxy’s IP address, so the login lockout sees each client’s own address from X-Forwarded-For. Without it, failed logins all count against the proxy’s address |
BACKUPARR_ALLOW_CROSS_HOST_REDIRECTS | false | true only if an app’s URL redirects to a different host and you can’t use the final address. By default such redirects are refused so credentials never go to another host |
To listen on loopback only: with bridge networking, publish ports: ["127.0.0.1:8990:8990"] and leave WEBUI_HOST alone (setting it to 127.0.0.1 there blocks the published port). With network_mode: host, set WEBUI_HOST: "127.0.0.1" and remove ports:.
Advanced: file locations
Only needed to move files out of the /config/backuparr mount, where they all live by default.
| Env var | Default | What it is |
|---|---|---|
BACKUPARR_CONFIG | /config/backuparr/config.json | The main config file |
RCLONE_CONFIG | /config/backuparr/rclone.conf | rclone’s remotes config |
RCLONE_CONFIG_PASS_FILE | /config/backuparr/rclone.pass | Generated rclone.conf password (ignored if RCLONE_CONFIG_PASS is set) |
BACKUPARR_SECRETS_KEY_PATH | /config/backuparr/secrets.key | Generated config-encryption key (ignored if BACKUPARR_SECRETS_KEY is set) |
BACKUPARR_SECRET_KEY_PATH | /config/backuparr/secret_key | Session-signing key - not the same as secrets.key |
BACKUPARR_AUTH | /config/backuparr/auth.json | Admin username and password hash |
BACKUPARR_LOG_DIR | /var/log/backuparr | Where backup.log (shown on Run & Status) is written |