Skip to content

*arr Stack

The *arr stack automates media acquisition for the homelab. It indexes, searches, and routes downloads to the correct location for Jellyfin to pick up.

graph LR
    Prowlarr -->|sync indexers| Radarr
    Prowlarr -->|sync indexers| Sonarr
    Radarr -->|send grab| qBittorrent
    Sonarr -->|send grab| qBittorrent
    qBittorrent -->|downloaded| Media[(NAS emby-media)]
    Radarr -->|notify| Bazarr
    Sonarr -->|notify| Bazarr
    Radarr -->|notify| Jellyfin
    Sonarr -->|notify| Jellyfin
    Media -->|read| Jellyfin
Hold "Alt" / "Option" to enable pan & zoom

Deployment

All four apps run in the media namespace as single-replica Deployments with a Recreate strategy. Media is served from the shared emby-media NFS volume.

App Image Port Config PVC Storage class
Radarr lscr.io/linuxserver/radarr 7878 radarr-config syno-nfs-retain
Sonarr lscr.io/linuxserver/sonarr 8989 sonarr-config syno-nfs-retain
Prowlarr lscr.io/linuxserver/prowlarr 9696 prowlarr-config syno-nfs-retain
Bazarr lscr.io/linuxserver/bazarr 6767 bazarr-config local-path

Bazarr's config uses local-path due to SQLite locking issues under NFS — see Bazarr for the backup CronJob setup.

All apps run as PUID=1034 / PGID=100 to match NFS ownership — see NFS Permissions.


Database

Radarr and Sonarr use PostgreSQL for their main and log databases (hosted at pg.hdhomelab.com), configured via environment variables. Credentials are injected from Vault via ExternalSecrets.

App Main DB Log DB
Radarr radarr-main radarr-log
Sonarr sonarr-main sonarr-log

Prowlarr and Bazarr use SQLite.


Release Filtering

Jellyfin clients have inconsistent support for Dolby Vision/Audio, causing playback issues. Radarr and Sonarr are configured to block DV-only releases while allowing dual-layer DV+HDR10 releases.

See Dolby Vision Filtering for the Custom Format setup.


Key Configuration

Setting Value
URL radarr.hdhomelab.com
TZ America/New_York
CPU request / limit 500m / —
Memory request / limit 512 MiB / 1 GiB
Flux config flux/apps/noah/media/radarr/
Setting Value
URL sonarr.hdhomelab.com
TZ America/New_York
CPU request / limit 500m / —
Memory request / limit 512 MiB / 1 GiB
Flux config flux/apps/noah/media/sonarr/
Setting Value
URL prowlarr.hdhomelab.com
TZ America/New_York
Flux config flux/apps/noah/media/prowlarr/
Setting Value
URL bazarr.hdhomelab.com
TZ America/New_York
CPU request / limit 500m / 1
Memory request / limit 256 MiB / 1 GiB
Flux config flux/apps/noah/media/bazarr/