Configuring autobrr
The primary configuration entry point for autobrr is config.toml, which should be located in the --config directory you specified to the autobrr process or in the config/ directory relative from which autobrr is running. Do note that you do not need to create it yourself, as the autobrr daemon will do it automatically for you in case it does not exist upon first start.
# config.toml
# Hostname / IP
#
# Default: "localhost"
#
host = "127.0.0.1"
# Port
#
# Default: 7474
#
port = 7474
# Base url
# Set custom baseUrl eg /autobrr/ to serve in subdirectory.
# Not needed for subdomain, or by accessing with the :port directly.
#
# Optional
#
#baseUrl = "/autobrr/"
# Base url mode legacy (added in v1.55.0)
# This is kept for compatibility with older versions doing url rewrite on the proxy.
# If you use baseUrl you can set this to false and skip any url rewrite in your proxy.
#
# Default: true
#
baseUrlModeLegacy = true
# autobrr logs file
# If not defined, logs to stdout
#
# Optional
#
#logPath = "log/autobrr.log"
# Log level
#
# Default: "DEBUG"
#
# Options: "ERROR", "DEBUG", "INFO", "WARN", "TRACE"
#
logLevel = "DEBUG"
# Log Max Size
#
# Default: 50
#
# Max log size in megabytes
#
#logMaxSize = 50
# Log Max Backups
#
# Default: 3
#
# Max amount of old log files
#
#logMaxBackups = 3
# Check for updates
#
# Default: true
#
checkForUpdates = true
# Database DSN
# Optional. Can be used instead of databaseType and the individual postgres* fields.
# Accepts postgres:// / postgresql:// URLs or a SQLite file path.
#
#databaseDSN = "postgresql://autobrr:postgres@localhost:5432/autobrr?sslmode=disable"
# Database Max Backups
# autobrr automatically backs up the SQLite database before schema migrations.
# Set to 0 to disable (config file only, the env var cannot disable it).
#
# Default: 5
#
#databaseMaxBackups = 5
# CORS allowed origins
# Comma separated list of origins allowed to call the API from a browser.
#
# Default: "*"
#
#corsAllowedOrigins = "*"
# Go pprof profiling (for debugging)
#
# Default: false, "127.0.0.1", 6060
#
#profilingEnabled = false
#profilingHost = "127.0.0.1"
#profilingPort = 6060
# OpenID Connect Configuration
#
# Enable OIDC authentication
#oidcEnabled = false
#
# OIDC Issuer URL (e.g. https://auth.example.com)
#oidcIssuer = ""
#
# OIDC Client ID
#oidcClientId = ""
#
# OIDC Client Secret
#oidcClientSecret = ""
#
# OIDC Redirect URL (e.g. http://localhost:7474/api/auth/oidc/callback)
#oidcRedirectUrl = ""
#
# Disable Built In Login Form (only works when using external auth)
#oidcDisableBuiltInLogin = false
# Metrics
#
# Enable metrics endpoint
#metricsEnabled = true
# Metrics server host
#
#metricsHost = "127.0.0.1"
# Metrics server port
#
#metricsPort = 9074
# Metrics basic auth
#
# Comma separate list of user:password. Password must be htpasswd bcrypt hashed. Use autobrrctl to generate.
# Only enabled if correctly set with user:pass.
#
#metricsBasicAuthUsers = ""
# Custom definitions
#
#customDefinitions = "/home/$YOUR_USER/.config/autobrr/definitions"
Config options
host: If not using a reverse proxy or in a container, change to0.0.0.0.port: If port already in use, then change to a free one.logLevel: Choose how much log output you want to see. Changes toconfig.tomlare picked up automatically without a restart, and the level can also be changed on the fly under Settings > Logs in the web UI.- (optional)
baseUrl: Supports running on both the root url and in a subpath, as well as subdomain. Uncomment if needed. - (optional)
baseUrlModeLegacy: (Added in v1.55.0) When set to false, no URL rewrite is needed in your proxy configuration. Set to true to maintain compatibility with older proxy configurations that use URL rewrites. - (optional)
logPath:Considering autobrr is rather new software, it might be beneficial for logging to be enabled. If running with systemd you can usejournalctlto check logs. The log file is rotated as soon as it reaches 50MB, up to 3 times. In other words, the maximum space which the log files can occupy is 150MB, which takes a long time to fill. - (optional)
databaseMaxBackups: autobrr backs up the SQLite database before every schema migration; the backup files appear next to the database asautobrr.db_svN_<timestamp>.backup. This option controls how many are kept (default 5). - (optional)
corsAllowedOrigins: Comma separated list of origins allowed to call the API from a browser, for setups with third-party frontends. Default*. - (optional)
profilingEnabled/profilingHost/profilingPort: Exposes Go pprof endpoints for debugging, disabled by default. Only enable when asked to while troubleshooting.
Metrics (Prometheus)
Metrics are disabled by default. With metricsEnabled = true, autobrr serves Prometheus metrics on a separate listener at http://<metricsHost>:<metricsPort>/metrics (default 127.0.0.1:9074), independent of the web UI port. The exported metrics are prefixed autobrr_ and cover releases, IRC, feeds, lists and filters.
scrape_configs:
- job_name: autobrr
static_configs:
- targets: ["127.0.0.1:9074"]
The endpoint can be protected with basic auth via metricsBasicAuthUsers (comma separated user:password pairs with the password bcrypt-hashed, generated with autobrrctl htpasswd).
Create user via command line (optional)
This step is not needed unless you wish to create a user via the command line. Instead, the process of creating a user can be done via the web UI instead, which is the recommended way to do it.
To create a user alongside the initial database, you need to use autobrrctl. Specify your config directory via the --config argument, followed by create-user and then your wanted username. After executing the command, you will prompted to enter a password.
Example:
autobrrctl --config ~/.config/autobrr create-user USERNAME
Other autobrrctl commands
autobrrctl has a few more commands worth knowing about:
autobrrctl --config <dir> export-filters: Exports every filter to individual JSON files, handy for backups or sharing.autobrrctl htpasswd: Prompts for a password and prints the bcrypt hash needed formetricsBasicAuthUsers. Not listed in the built-in help text.autobrrctl version: Prints the autobrrctl version.autobrrctl db:convert: Converts a SQLite database to PostgreSQL, see the PostgreSQL guide.autobrrctl db:seed --db-path <path> --seed-db <file>andautobrrctl db:reset: Database seeding and reset, mainly for development and testing.
Other options
Make sure to read through all of the articles as all of them have some important information on how to get autobrr up and running.
Additional help
If you're having any trouble with the documentation, join us at Discord and we will do our best to help.
If you have found a bug or are having an issue, please open an issue on GitHub