Skip to content

Core service routing

core_service is the flag DUMB uses to route automation between Arrs and the core download workflows. It keeps Debrid- and Usenet-based stacks isolated while still allowing multiple instances of the same Arr service.


Where core_service is used

Config block Purpose
Arr instances (sonarr, radarr, lidarr, whisparr) Selects the download workflow(s) to auto-wire.
NeutArr instances Filters which Arr instances are sent to NeutArr.
Profilarr instances Filters which Arr instances are auto-linked to Profilarr.
rclone/zurg instances Labels the instance for the workflow it supports.

Routing map

%%{ init: { "flowchart": { "curve": "basis" } } }%%
flowchart TD
    ARR[Arr instances]
    CS{core_service}
    DEC[Decypharr workflow]
    NZB[NzbDAV workflow]
    PROWLARR[Prowlarr apps + tags]
    IDX[Tagged indexers]
    NEUTARR[NeutArr instance]
    PROFILARR[Profilarr instance]

    ARR ==> CS
    CS -- decypharr --> DEC
    CS -- nzbdav --> NZB
    DEC ==> PROWLARR
    NZB ==> PROWLARR
    PROWLARR ==> IDX
    IDX ==> ARR
    CS ==> NEUTARR
    CS ==> PROFILARR

Supported values

Use one or more of the core workflow keys:

Value Workflow Typical use
decypharr Debrid/torrent workflow Decypharr + Debrid indexers
nzbdav Usenet workflow NzbDAV + Usenet indexers

Leave core_service empty if you do not want DUMB to auto-wire a service into a workflow. To combine workflows, set core_service to a list or use a comma-separated string.


What DUMB does with it

When core_service is set on an Arr instance, DUMB:

  • Configures matching download clients (Decypharr and/or NzbDAV).
  • Adds or updates Arr root folders and permissions for each workflow.
  • Creates Prowlarr apps tagged with the same core service(s) so indexers sync only to the intended Arrs.

When core_service includes both decypharr and nzbdav, DUMB uses a shared root folder base at /mnt/debrid/combined_symlinks/<slug> for the Arr instance.

When core_service is set on a NeutArr instance, DUMB:

  • Sends Arr instances whose core services overlap the NeutArr instance.

When core_service is set on a Profilarr instance, DUMB:

  • Auto-links only Arr instances whose core services overlap the Profilarr instance.
  • Seeds profile/custom format/regex/media-management sync for those Arr instances (when use_profilarr is enabled on the Arr).

Example: split Debrid and Usenet workflows

"radarr": {
  "instances": {
    "Debrid": {
      "enabled": true,
      "core_service": "decypharr",
      "use_neutarr": true,
      "use_profilarr": true,
      "port": 7878
    },
    "Usenet": {
      "enabled": true,
      "core_service": "nzbdav",
      "use_neutarr": false,
      "use_profilarr": false,
      "port": 7879
    }
  }
}

In this layout:

  • The Debrid Radarr instance syncs with Decypharr and Debrid indexers.
  • The Usenet Radarr instance syncs with NzbDAV and Usenet indexers.
  • NeutArr only receives the Debrid instance because use_neutarr is set there.
  • Profilarr only links the Debrid instance because use_profilarr is set there.

Example: combine workflows on one Arr instance

"sonarr": {
  "instances": {
    "Combined": {
      "core_service": ["decypharr", "nzbdav"],
      "use_neutarr": true,
      "use_profilarr": true
    }
  }
}

In this layout, DUMB wires both Decypharr and NzbDAV download clients and root folders for the same Sonarr instance.