Configuration guide

Map each *arr app to a stable putiorr profile.

Configure one RR profile per app, attach the right download profile, then paste the generated Transmission values into Radarr, Sonarr, and Lidarr.

RR profiles

Each RR profile maps one app to a put.io destination folder, a shared local download target, and a Transmission RPC endpoint path. The app's download-client category creates the final import subfolder under that target.

Every enabled profile keeps a unique RPC endpoint, but existing apps may continue using the shared /transmission/rpc endpoint. On that shared endpoint, the category in download-dir selects the profile for a new transfer; labels are checked when supplied, and the app User-Agent scopes later listing and removal operations. If two profiles request the same put.io transfer, putiorr keeps one remote transfer with separate profile associations and staging copies.

App put.io folder Download folder RPC endpoint Category
Radarr putiorr /downloads /radarr/transmission/rpc radarr
Sonarr putiorr /downloads /sonarr/transmission/rpc sonarr
Lidarr putiorr /downloads /lidarr/transmission/rpc lidarr
Readarr putiorr /downloads /readarr/transmission/rpc readarr

Example: Sonarr category sonarr plus download folder /downloads means completed files appear under /downloads/sonarr for Sonarr's importer. The same host folder must be mounted into putiorr and Sonarr at /downloads, for example /volume/downloads:/downloads in both containers, so Sonarr does not need custom Remote Path Mapping.

Download profiles

Download profiles tune local-copy behavior by use case. Use one profile per download shape when movies, episodes, music, or books need different reset rules.

Startup grace

Gives large transfers time to reach normal throughput before slow-speed checks begin.

Ignore below

Excludes tiny files from slow-speed reset rules so metadata does not distort behavior.

Slow threshold

Restarts a local file download after it stays below the configured speed for the configured duration.

Radarr, Sonarr, and Lidarr

Add a Transmission download client in each app. When the app container shares a Docker network with putiorr, the host is the compose service name and the port is putiorr's internal RPC port.

Field Radarr Sonarr Lidarr
Name putiorr putiorr putiorr
Host putiorr putiorr putiorr
Port 9091 9091 9091
Use SSL Off Off Off
Category radarr sonarr lidarr
Directory /downloads /downloads /downloads
URL Base /radarr/transmission /sonarr/transmission /lidarr/transmission

Leave username and password blank unless you configured PUTIORR_RPC_USERNAME and PUTIORR_RPC_PASSWORD. Keep completed-download handling enabled in the *arr app.

Prowlarr

Prowlarr usually does not need its own putiorr profile. It connects to Radarr, Sonarr, and Lidarr, syncs indexers, and those apps send accepted grabs to putiorr through their Transmission client settings.

Radarr URL: http://radarr:7878
Sonarr URL: http://sonarr:8989
Lidarr URL: http://lidarr:8686

Progress model

putiorr reports progress in two phases. The dashboard is the best view for file-level local progress and per-file speed.

0-50%:   put.io remote transfer
50-100%: local download from put.io to the download target

Local downloads are written as .part files and resume with HTTP range requests after restarts. Optional slow-speed reset closes and resumes a local download if it stays below the selected threshold after the startup grace window.