Files
serverAppConfigs/serverAppConfigs-docs/Dankserver/sonarr.md
T
Frank 32b4016e55 feat(exposure): sonarr to admin side, internal-only by construction
Flip the homepage Sonarr card from the user category to admin and repoint
its link at the LAN-direct port (192.168.0.112:8989). Retire the unguarded
public vhost sonarr.franksdank.cloud (direct reverse_proxy, no auth) and its
post-auth @sonarr handler from the Caddyfile; drop the Pi-hole addn-hosts A
record with it. No public Porkbun record ever existed (NXDOMAIN at the zone),
so after this there is no WAN path to Sonarr: users request TV via Seerr
(guarded), admins reach Sonarr's own UI from the LAN only.

Fixes the seerr/sonarr mix-up from 19b2589/e0bade6.
2026-09-04 18:34:02 -07:00

2.7 KiB

type, title, description, tags, timestamp
type title description tags timestamp
reference Sonarr Sonarr TV manager in the *arr stack on FrankBook-Pro — live quadlet deployment, ports, volumes, and wiring facts.
sonarr
arr-stack
frankbook-pro
2026-09-04T00:00:00Z

Sonarr

Sonarr manages TV shows in the *arr stack. The stack runs on FrankBook-Pro (the Mac mini) as quadlet units inside its podman machine — not on Dankserver. It searches, downloads, and organizes episodes from indexers into the Jellyfin TV library.

Host: FrankBook-Pro (podman machine) — Access: LAN-direct only at http://192.168.0.112:8989 — no vhost and no public DNS record by construction (the brief unguarded sonarr.franksdank.cloud vhost was retired 2026-09-04; users request TV via Seerr, admins use this UI from the LAN) — Docs: https://wiki.servarr.com/sonarr

Facts

Item Value
Image lscr.io/linuxserver/sonarr:latest (v4 line)
Port 8989 (host) → 8989 (container)
Env PUID=0, PGID=0, TZ=America/Los_Angeles, UMASK_SET=022
Config root /Volumes/COMPLETE/sonarr-data:/config
Min RAM 512 MB
Metadata TMDB / TVDB

Deployment (current)

Quadlet unit sonarr.container from this repo (frankbook-pro/sonarr/quadlet/) is installed inside the podman machine at /home/core/.config/containers/systemd/sonarr.service by the frankbook-pro handler in scripts/deploy-remote.sh. Unit shape:

[Container]
ContainerName=sonarr
Image=lscr.io/linuxserver/sonarr:latest
Environment=PUID=0
Environment=PGID=0
Environment=TZ=America/Los_Angeles
Environment=UMASK_SET=022
Volume=/Volumes/COMPLETE/sonarr-data:/config
PublishPort=8989:8989

[Service]
TimeoutStartSec=900
Restart=always

Configuration

  1. Add Prowlarr as the indexer source (see Prowlarr — the feed route is /{indexerId}/api).
  2. Add qBittorrent as the download client with the tv category (qBittorrent).
  3. Set quality profile, cutoff, and minimum/maximum episode sizes.
  4. Set the root folder to the TV root under the COMPLETE volume (Sonarr imports from where qBittorrent drops completed downloads).
  5. Add a test series and verify the grab → download → import chain end-to-end.

Gotchas

  • Sonarr v4 is the current stable. The v3 branch uses the :v3 tag.
  • Anime has different quality profiles and naming conventions than Standard series.
  • Missing episodes: set "Unmonitor Missing Episodes" to auto-unmonitor old episodes.
  • Timezone-sensitive scheduler: every unit in the stack runs TZ=America/Los_Angeles; keep them uniform.

See Also

  • ARR-Stack — full *arr stack documentation
  • Jellyfin — media server that consumes Sonarr downloads