Skip to content

Settings — System

This page collects the settings that affect Sublarr’s runtime behaviour rather than its features: authentication, backups, log rotation, theme. Most users set these once during install and revisit only when the install moves to a new host or a new version ships breaking changes.

SettingDefaultValuesEffect
Inbound API keyemptystringRequired X-Api-Key header on every API call. Empty = no auth. See API Keys for the dedicated page.
Session timeout (min)605–1440Inactive UI sessions log out after this.
Max login attempts51–20Failed attempts before lockout.
Lockout duration (min)151–1440Lockout window after threshold reached.
Allowed IP rangesemptyCIDR listWhen set, restricts UI access to these networks. Empty = any IP.
SettingDefaultValuesEffect
Auto-backup enabledontoggleRun backup on the configured schedule.
Backup interval (h)241–168Hours between automatic backups.
Backup on startupontoggleRun a backup once when the container starts.
Notify on failureontoggleFire backup_failed notification event.
Backup directory/config/backupsabsolute pathWhere backup files land.
Retention (count)70–100Keep N most-recent; older backups deleted. 0 keeps all.

A backup includes:

IncludedNotes
DatabaseSQLite or PostgreSQL dump.
Config entriesThe DB rows that hold UI settings.
API keys (encrypted)Wrapped with the install’s secret.
GlossaryBoth global and per-series.
Translation memoryOptionally — toggle below.
Excluded
Subtitle files on disk (those live with your media library).
Whisper / metadata caches.
Plugin files (re-install after restore).
SettingDefaultEffect
Include translation memoryoffWhen on, TM rows are included in the backup (can grow the file by 100 MB+).

The Restore button accepts a backup file produced by the same major version of Sublarr (or one minor version older — auto-migration runs on import). The restore happens in three stages:

  1. Validate the file is a Sublarr backup with the expected schema.
  2. Snapshot the current database to <config>/backups/.pre-restore.<timestamp> so the restore is reversible.
  3. Replace the database; restart in-process.

The on-disk log file is what gets shipped to log aggregators. The viewer in Logs is independent and shows the live tail.

SettingDefaultValuesEffect
Log levelINFODEBUG / INFO / WARNING / ERRORMinimum severity written to the file. Tighter level = smaller log file.
Log file/config/sublarr.logpathFile path. Match SUBLARR_LOG_FILE (env-loaded at startup, then UI takes over).
Log formattexttext / jsonjson for log aggregators (Loki, ELK); text for grep-by-eyeball.
Max size (MB)501–1000File rotates when this size is reached.
Retention (count)101–100Number of rotated archives kept.
SettingDefaultValuesEffect
Themedarkdark / light / systemUI theme. system follows OS preference.
Accent color#1DB8D4 (Sublarr teal)hexPrimary accent. Affects buttons, links, focus rings.

The footer shows runtime details that you’ll want when filing bugs:

FieldReads
VersionThe backend/VERSION shipped in the container.
Build SHAGit commit the container was built from.
Build dateWhen the image was built.
PythonInterpreter version.
Databasesqlite:///<path> or postgresql://....
RedisConnected URL or “not configured”.
Platformlinux/amd64, linux/arm64.

The Diagnostics page surfaces every health check Sublarr runs internally — see Diagnostics for the dedicated page. The button on this page jumps directly there.

SettingDefaultEffect
Check for updatesonEvery 24h, check the GitHub releases for a newer tag. Surface in the dashboard banner if found.
Auto-updateoff(Reserved — currently a no-op; Sublarr doesn’t self-upgrade. The flag is plumbed for a future version.)