*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
-
Radarr
Movie management — radarr.hdhomelab.com
-
Sonarr
TV series management — sonarr.hdhomelab.com
-
Prowlarr
Indexer aggregator — prowlarr.hdhomelab.com
-
Bazarr
Subtitle management — bazarr.hdhomelab.com
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/ |