SKYHOUSE.dev Journal

Maintaining the Cloud Fortress

Split RDTClient: Sonarr Cache-Only vs Radarr Open Slots

Why: Sonarr's automated grabs kept wasting TorBox debrid slots on uncached TV episodes; we wanted to apply the "only download cached" restriction to Sonarr while leaving Radarr (and manual adds) free to use live torrent slots — but RDTClient's cache toggle is global, so you can't split the behavior inside a single instance.

The solution is a second, parallel RDTClient instance. One is the strict bouncer for Sonarr (cache-only, downloads straight to the TV drive), and the other is the open door for Radarr (full slots, downloads straight to the Movies drive). The bonus: by landing downloads directly on the correct media drive from the start, Sonarr and Radarr can perform instant atomic moves rather than cross-drive copies — the file never moves between physical platters.

1. New download directories

Created one inbox folder on each media drive, both owned by the plex user:

2. RDTClient-Movies container

Deployed a second RDTClient instance from /home/plex/rdtclient-movies/docker-compose.yml using docker compose up -d (outside Portainer, since this is a clean new container). It is running on port 6501 (host) → 6500 (container), with its own isolated database. At this point it has no TorBox API key — that must be entered through the web UI.

3. Portainer stack updates still needed

Three existing Portainer stacks need their compose YAML updated to change volume mappings. The key change for Sonarr and Radarr is replacing two separate bind mounts with a single root-of-drive mount — this is what allows the instant atomic move rather than a cross-mount copy. See the complete YAML blocks and UI checklist in the conversation where this work was started.

Summary of volume changes per stack:

4. In-app UI steps still needed

Once complete, Sonarr will silently reject all uncached grabs at the rdtclient bouncer, while Radarr (and manual torrent adds) can use all live TorBox slots — and both apps will perform instant moves instead of slow cross-drive copies.

5. Series and movie path migration (follow-up)

After the volume remapping, Sonarr and Radarr still had their per-item paths set to the old container mount points (/tv/Show Name and /movies/Movie Name). Sonarr confirmed this with "Root folder missing" errors on first import. The root folders themselves were correct — it was the 247 series and 7 movie records that still referenced the dead paths.

Fixed by stopping each container and running a direct SQLite update:

No files were moved. The physical media on /media/plex2/TV and /media/plex1/Movies was untouched — only the path strings in the app databases were corrected. Plex was unaffected throughout.

← Back to Admin Hub