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.
This mode is intended for new Sonarr databases unless you are deliberately following Sonarr's upstream community migration notes. Sonarr's upstream documentation says existing SQLite migration is unsupported and only new PostgreSQL installs are supported. Back up both /sonarr/... and /postgres_data before experimenting with an existing instance.
Manual migration, if you choose to attempt it, is outside DUMB automation. The rough upstream flow is: back up, stop Sonarr, enable PostgreSQL mode, let Sonarr initialize the PostgreSQL schema once, stop Sonarr again, then follow the Sonarr pgloader migration guide for the main database.
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 does not provide automatic SQLite-to-PostgreSQL or PostgreSQL-to-SQLite migration for Sonarr.
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