Sonarr¶
compose/nas/sonarr.yml
# Portainer stack: sonarr
services:
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=${PUID}
- PGID=${PGID}
- UMASK=002
- TZ=${TZ}
volumes:
- /volume1/docker/sonarr:/config
- /volume1/data:/data # whole data tree = hardlinks + atomic moves
ports:
- 8989:8989
restart: unless-stopped
Key settings¶
| Area | Setting |
|---|---|
| Media Management | Root folder /data/media/tv. Use Hardlinks: ON. Rename episodes ON (TRaSH naming). No remote path mappings. |
| Download Clients | qBittorrent at <NAS_IP>:8080, category tv, priority 1. Remove Completed/Failed ON. |
| Indexers | Synced from Prowlarr (do not add them by hand) |
| Profiles | Main: WEBDL (about 98% of series). WEB + Bluray 1080p for classic shows. Delay profile: prefer torrent, 90 min delay, bypass if highest quality. |
| Quality definitions | Bluray-1080p min 15 MB/min |
| General → Security | Allowed Hosts: localhost,127.0.0.1,<NAS_IP>,<container-name>. The value is read at startup, so restart after changing it. Any host not on the list gets 400 Invalid Hostname. |
| Connect | Plex (library refresh on import) |
Streaming-friendly profile (applied)
In the WEBDL profile, WEB 1080p is ranked above 2160p and Upgrade Until = WEB 1080p. 2160p is a fallback only, with the same size caps as Radarr. TRaSH's AV1 custom format is at −10000. Together these keep the library Direct-Playable. See Plex.