*arr Stack (Sonarr, Radarr, Prowlarr, Overseerr, Lidarr)
The *arr apps automate finding, downloading, and importing media onto TrueNAS. They run as Docker apps on the NAS alongside qBittorrent. Everything feeds into the same library paths that Jellyfin and Navidrome scan.
Browser access from the Windows PC @ 192.168.2.200 uses the public URLs below via Cloudflare Tunnel.
Overview
| App | Public URL | Role |
|---|---|---|
| Overseerr | request.saxobroko.com | Request UI — family-friendly front door |
| Sonarr | sonarr.saxobroko.com | TV shows — seasons, episodes, quality profiles |
| Radarr | radarr.saxobroko.com | Movies — releases, upgrades, collections |
| Lidarr | lidarr.saxobroko.com | Music — albums and artists for Navidrome |
| Prowlarr | prowlarr.saxobroko.com | Indexer manager — feeds all *arr apps |
All are reachable on TrueNAS @ 192.168.2.203.
Typical workflow (TV / movies)
- Request — Someone searches in Overseerr and submits a show or film
- Monitor — Sonarr (TV) or Radarr (movies) adds the title and watches for releases
- Search — Prowlarr queries configured indexers (including Aither, my private tracker)
- Download — Sonarr/Radarr send the grab to qBittorrent on TrueNAS
- Import — When the download completes, the *arr app renames and moves files into the library root
- Playback — Jellyfin library scan picks up new content under
A:/Media— see Adding media
Music follows the same idea via Lidarr → qBittorrent → music library folder → Navidrome.
Manual workflow (Aither)
I still use Aither directly when I want a specific release or something is not in Overseerr:
- Find the torrent on Aither
- Add to qBittorrent (or let Sonarr/Radarr grab via Prowlarr if already monitored)
- Wait for import
- Confirm in Jellyfin or on
A:/Media
Details for hand-dropping files: Adding media
Root folders and paths
The *arr apps and Jellyfin must agree on where files live.
| Library | Typical path (Windows) | TrueNAS side |
|---|---|---|
| TV | A:/Media/Shows/ |
Pool dataset / SMB share — Windows network drive |
| Movies | A:/Media/Movies/ |
Same share, different subfolder |
| Music | A:/Media/Music/ (or Lidarr root) |
Confirm in Lidarr settings |
| Downloads | qBittorrent incomplete/complete folders | Must match *arr download client settings |
On TrueNAS, these paths are datasets on the RAIDZ1 pool — Backups and pool health.
Naming conventions (critical for Sonarr/Radarr imports):
- Shows:
Show Name (Season 1 Release Year)/Season 01/Episode files - Movies:
Movie Name (Release Year)/Movie file
App relationships
┌─────────────┐
│ Overseerr │ (requests)
└──────┬──────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
┌────────┐ ┌────────┐ ┌────────┐
│ Sonarr │ │ Radarr │ │ Lidarr │
└───┬────┘ └───┬────┘ └───┬────┘
│ │ │
└────────────┼────────────┘
▼
┌───────────┐
│ Prowlarr │ (indexers, incl. Aither)
└─────┬─────┘
▼
┌───────────┐
│qBittorrent│
└─────┬─────┘
▼
┌───────────┐
│ A:/Media │ → Jellyfin / Navidrome
└───────────┘
Prowlarr and indexers
Prowlarr is the single place to manage indexers:
- Add Aither (and any other private trackers) once in Prowlarr
- Sync apps so Sonarr, Radarr, and Lidarr inherit indexer config
- API keys and credentials live in Vaultwarden — not in SaxDocs
If searches return nothing, check Prowlarr indexer health before blaming Sonarr/Radarr.
qBittorrent integration
Each *arr app needs a download client configured:
| Setting | Typical value |
|---|---|
| Client | qBittorrent |
| Host | LAN address of TrueNAS or Docker network name |
| Category | Optional — helps qBittorrent sort completed vs incomplete |
Full qBittorrent notes: qBittorrent
Quality profiles and upgrades
- Sonarr/Radarr — quality profiles prefer 1080p (or whatever is configured); upgrade allowed lets better releases replace old files
- Lidarr — similar for FLAC vs MP3 depending on what Navidrome should serve
TODO: add current quality profile summary when locked in.
Access and auth
Public URLs go through cloudflared and block no aus WAF rules. App-level logins are separate — credentials in Vaultwarden.
Overseerr is the app I give to others for requests; admin UIs (Sonarr, Radarr, Prowlarr) are for maintenance.
Troubleshooting
| Problem | Check |
|---|---|
| Request stuck in Overseerr | Sonarr/Radarr connection from Overseerr settings |
| No search results | Prowlarr indexers; Aither credentials |
| Download never starts | qBittorrent running; download client host/port in *arr |
| Download completes but no import | Path mapping; permissions on pool dataset; category mismatch |
| Jellyfin missing new show | Import path vs Jellyfin library root — Common Issues |
Related
- Adding media — manual imports and folder layout
- qBittorrent — download client
- Services — URL index
- cloudflared — how public URLs reach the stack
- TrueNAS — pool and app host