Skip to main content

01-sonarr.md

kstack: book: Centerpoint Home Lab chapter: Media Management page: Sonarr tags: [sonarr, tv, arr, media-management]

Overview

emptySonarr monitors RSS feeds and indexers (via Prowlarr) for new TV show episodes, automatically searches for and downloads them via NZBGet, then renames and organises the files into the media library on UnRAID.

Access

Type URL Notes Internal https://sonarr.home.local LAN access via Step-CA TLS External https://sonarr.jeeves5454.ddns.net Authentik SSO + GeoBlock + CrowdSec

Configuration

Image: lscr.io/linuxserver/sonarr:latest Compose project: arr stack (managed via Portainer)

Traefik Labels

# External route
traefik.http.routers.sonarr-external.rule: Host(`sonarr.jeeves5454.ddns.net`)
traefik.http.routers.sonarr-external.entrypoints: websecure
traefik.http.routers.sonarr-external.tls.certresolver: letsencrypt
traefik.http.routers.sonarr-external.middlewares: authentik-auth@docker,plex-geoblock@file,crowdsec-bouncer@file
traefik.http.routers.sonarr-external.service: sonarr-svc

# Internal route
traefik.http.routers.sonarr-internal.rule: Host(`sonarr.home.local`)
traefik.http.routers.sonarr-internal.entrypoints: websecure
traefik.http.routers.sonarr-internal.tls.certresolver: step-ca
traefik.http.routers.sonarr-internal.service: sonarr-svc

traefik.http.services.sonarr-svc.loadbalancer.server.port: 8989

Volumes / Bind Mounts

Host Path Container Path Purpose /home/jeeves/docker/arr/Sonarr/config /config Sonarr database, settings, and series index /media/jeeves/1TB_Vol2/downloads /downloads NZBGet download staging (Ceph OSD) /mnt/Multimedia /media Final media library (NFS from UnRAID)

Both /downloads and /media must be in the same container path namespace so Sonarr can hardlink completed downloads rather than copy them — essential for atomic moves between the download staging area and the media library.

Integration Points

Service Connection Method Purpose Prowlarr API (http://prowlarr:9696) via media-network Indexer search NZBGet API (http://nzbget:6789) via media-network Download client Bazarr API (Bazarr polls Sonarr) Subtitle fetching Pulsarr Sonarr webhook / API Watchlist sync Seerr API Receives show requests

Notes / Gotchas

    Sonarr's root folder for TV series must point to /media/TV (or equivalent) inside the container, which maps to /mnt/Multimedia/TV on the host via NFS. Quality profiles are managed centrally via Profilarr and pushed to Sonarr via its API — do not manually edit quality profiles in Sonarr if Profilarr is active. API key is stored in /config/config.xml — required to configure Prowlarr, Bazarr, Seerr, and Pulsarr integrations.

    Last Updated: 2026-06-16