Skip to content

Configuration ​

All configuration is done through environment variables.

Required ​

VariableDescription
ENCRYPTION_KEYAES-256 key for encrypting stored credentials. Minimum 32 characters.

Generate a key:

bash
openssl rand -hex 32

Server ​

VariableDefaultDescription
PORT3000HTTP server port
DATABASE_PATH./data/qbitwebui.dbSQLite database location
SALT_PATH./data/.saltEncryption salt file location

Authentication ​

VariableDefaultDescription
DISABLE_AUTHfalseSkip authentication entirely
DISABLE_REGISTRATIONfalsePrevent new user signups

Disable Auth ​

Use when running behind an authenticating reverse proxy (Authelia, Authentik, etc.):

yaml
environment:
  - DISABLE_AUTH=true

DANGER

Only use behind a properly secured reverse proxy. Anyone who can reach qbitwebui will have full access.

Disable Registration ​

Lock down to existing users only. On first start with no users, generates a random admin password printed to logs:

yaml
environment:
  - DISABLE_REGISTRATION=true

Features ​

VariableDefaultDescription
DOWNLOADS_PATH-Enable file browser at this path
ALLOW_SELF_SIGNED_CERTSfalseAccept self-signed TLS certificates

File Browser ​

Mount your downloads directory and set the path:

yaml
environment:
  - DOWNLOADS_PATH=/downloads
volumes:
  - /path/to/downloads:/downloads:ro

The :ro makes it read-only. Remove for write access (delete, move, rename).

Self-Signed Certificates ​

If your qBittorrent uses HTTPS with a self-signed certificate:

yaml
environment:
  - ALLOW_SELF_SIGNED_CERTS=true

Database ​

SQLite database stores:

DataSecurity
UsersPasswords hashed with bcrypt (cost 12)
SessionsRandom tokens, 7-day expiry
InstancesCredentials encrypted with AES-256-GCM
IntegrationsAPI keys encrypted with AES-256-GCM

Backup ​

bash
cp ./data/qbitwebui.db ./backup/

Restore ​

bash
cp ./backup/qbitwebui.db ./data/

Use the same ENCRYPTION_KEY after restore.

Released under the MIT License.