Sonarr (Core Service)#
Sonarr is a TV series manager that automates monitoring, searching, and organizing episodes through configured indexers and download clients.
Service Relationships#
| Classification | Role |
|---|---|
| Core Service | TV series automation |
| Depends On | None |
| Optional | Decypharr, NzbDAV, AltMount, Prowlarr |
| Exposes UI | Yes (Web UI) |
Configuration in dumb_config.json#
"sonarr": {
"instances": {
"Default": {
"enabled": false,
"core_service": "",
"use_neutarr": false,
"use_profilarr": false,
"postgres_enabled": false,
"postgres_main_db": "",
"postgres_log_db": "",
"process_name": "Sonarr",
"repo_owner": "Sonarr",
"repo_name": "Sonarr",
"release_version_enabled": false,
"release_version": "latest",
"clear_on_update": false,
"exclude_dirs": [],
"platforms": [],
"suppress_logging": false,
"auto_update": false,
"auto_update_interval": 24,
"pinned_version": "",
"port": 8989,
"config_dir": "/sonarr/default",
"config_file": "/sonarr/default/config.xml",
"log_file": "/sonarr/default/logs/sonarr.txt",
"command": [],
"env": {}
}
}
}
Key Configuration Fields#
core_service: Set todecypharr,nzbdav,altmount, or a list of workflow keys to enable DUMB integration.use_neutarr: Opt this instance into NeutArr automation.use_profilarr: Opt this instance into Profilarr auto‑linking.postgres_enabled: Opt this instance into DUMB-managed PostgreSQL config. SQLite is the default; set this totrueonly when you want Sonarr to use PostgreSQL.postgres_main_db/postgres_log_db: Optional database-name overrides. When blank, DUMB usessonarr-mainandsonarr-logfor the default instance, or unique instance-scoped names for additional instances.port: Web UI port (default8989).pinned_version: Optional version pin for Sonarr updates.repo_owner/repo_name: GitHub repo used for releases or branch builds.release_version_enabled/release_version: Use GitHub releases (e.g.,latest,nightly,prerelease, or a tag).clear_on_update: Clear the install directory before updating.exclude_dirs: Directories to preserve when clearing.platforms: Build platforms (auto‑defaults to["dotnet"]when using branches).config_dir,config_file,log_file: Paths for config and logs.
PostgreSQL database mode#
When postgres_enabled is true, DUMB:
- enables the bundled PostgreSQL service if needed;
- creates the Sonarr main/log databases in
postgres.databases; - starts PostgreSQL before Sonarr; and
- writes the required
PostgresUser,PostgresPassword,PostgresHost,PostgresPort,PostgresMainDb, andPostgresLogDbentries to Sonarr'sconfig.xml.
During onboarding, enabling postgres_enabled for Sonarr is enough; you do not need to separately select PostgreSQL as an optional service.
This does not migrate existing SQLite data
Setting postgres_enabled: true changes the database backend Sonarr starts with. It does not copy sonarr.db into PostgreSQL.
If you enable this on an existing SQLite-backed Sonarr instance without doing a manual migration, Sonarr can start against fresh PostgreSQL databases and appear empty or newly initialized.
For an existing instance, use the Database Migration tool on its service page. Run a rehearsal first, review its table-count validation, and only then start guarded cutover. See Arr SQLite to PostgreSQL Migration.
Sonarr's upstream documentation still classifies existing SQLite migration as unsupported. Back up /sonarr/... and /postgres_data before proceeding, even when using DUMB's guarded workflow.
PostgreSQL is not a temporary toggle
There is no known supported migration path from PostgreSQL back to SQLite for Sonarr. Treat postgres_enabled: true as a long-term database choice unless you are willing to recreate the Sonarr instance from scratch.
DUMB preserves the pre-cutover SQLite database and can restore its configuration, but it does not copy later PostgreSQL changes back into SQLite.
Repo-based installs and updates#
Sonarr now supports the same repo‑based controls as other DUMB services.
- GitHub releases: Set
release_version_enabled: truewith a validrepo_owner/repo_name. - Default updater: Leave
release_version_enabled: falseto use the standard Arr updater.
GitHub sources take priority when enabled and are not a fallback. pinned_version only applies to the traditional Arr updater.
Integration with DUMB#
- For Decypharr integration, set
core_servicetodecypharrand follow the Decypharr guide. - For NzbDAV integration, set
core_servicetonzbdavand follow the NzbDAV guide. - For AltMount integration, set
core_servicetoaltmountand follow the AltMount guide. - For combined workflows, set
core_serviceto a list such as["decypharr", "nzbdav", "altmount"]. - Use Prowlarr to centrally manage indexers and sync them to Sonarr.
- DUMB enables Arr folder permission updates and applies permissions to configured root folders during integration.
- See Core Service Routing for how
core_serviceaffects automation.
Accessing the UI#
- Navigate to:
http://<host>:8989