b25c3a4d5c
Add SABnzbd+Transmission to radarr-4k/sonarr-4k with distinct categories (sabnzbd movies-4k/tv-4k, transmission radarr-uhd/sonarr-uhd; Transmission forbids digits) so they dont cross-import the 1080p instances. Packaged into deploy-arrs-4k.yml via an idempotent ensure-arrs-4k-dl.py (changed=0). Homepage Radarr 4K/Sonarr 4K tiles (HOMEPAGE_VAR keys, siteMonitor). 4K path proven: Obsession routed to radarr-4k, grabbed WEBDL-2160p, 1080p rejected 'not wanted in profile'. Keys via vault, no secrets. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.5 KiB
2.5 KiB
4K Quality-First arr stack — radarr-4k + sonarr-4k
SEPARATE instances from the untouched 1080p stack (for Overseerr native-4K routing +
isolation). Host: media-server (.183). Deployed by deploy-arrs-4k.yml (inline-compose,
idempotent, changed=0).
Instances
| port (host:cont) | URL | root folder | |
|---|---|---|---|
| radarr-4k | 7879:7878 | radarr-4k.goattw.net | /data/media/movies-4k |
| sonarr-4k | 8990:8989 | sonarr-4k.goattw.net | /data/media/tv-4k |
- Image
lscr.io/linuxserver/{radarr,sonarr}:latest, PUID/PGID 1000, nettraefik_public. - Mount
/mnt/media/data -> /data— SAME single hardlink tree as the 1080p stack + download clients (st_dev verified identical), so imports are instant hardlinks. NFS from TrueNASTank/Media. Roots created 1000:3000 775 (match 1080p).
Wiring (Step 1, done)
- Prowlarr:
Radarr (4K)/Sonarr (4K)applications (fullSync), indexers synced. - Overseerr: radarr-4k/sonarr-4k as
is4k=trueservers (native 4K routing). The existing 1080p radarr was mislabeledis4k=trueand was flipped tois4k=false(non-4k default). - Plex: SEPARATE libraries
Movies - 4K(/data/media/movies-4k) +TV - 4K(/data/media/tv-4k), not merged into the 1080p libraries. - Download clients (added post-Step-1, packaged in the playbook via
ensure-arrs-4k-dl.py): SABnzbd + Transmission on both instances, DISTINCT categories to avoid cross-import with 1080p — sabnzbdmovies-4k/tv-4k, transmissionradarr-uhd/sonarr-uhd(Transmission category forbids digits). Completed paths under /data (hardlinks intact). - Homepage: separate
Radarr 4K/Sonarr 4Ktiles in Media Automation (keys via HOMEPAGE_VAR, siteMonitor). - Traefik: file-provider routers (see traefik-router snippet), NOT docker labels.
- Tdarr: does NOT watch movies-4k/tv-4k (its libraries are the specific 1080p /media/movies, /media/tv) — quality-first keeps the grabbed file.
Step 2 — Recyclarr 4K (DONE)
deploy-recyclarr-4k.yml (recyclarr image :8, config uses !env_var, .env from ansible-vault).
Sync runs via systemd timer recyclarr-4k-sync.timer (daily 04:00, docker-run oneshot — NOT
container cron). Profiles applied: radarr-4k = Remux + WEB 2160p (fd161a61), sonarr-4k =
WEB-2160p (d1498e7d), assigned to the Overseerr 4K servers (replaced Ultra-HD placeholder).
DTS family explicitly pinned score 0 (Sonos-Arc down-weight; re-forced every sync so it can't
revert to guide 2500/4500) — Dolby/TrueHD/Atmos left at guide default (positive).