| title | description | published | date | tags | editor | dateCreated |
|---|---|---|---|---|---|---|
Sonarr |
A guide to installing Sonarr in TrueNAS Scale as well as docker via compose |
true |
2026-01-15 15:27:52 UTC |
markdown |
2026-01-15 15:02:54 UTC |
Sonarr is a TV-series PVR for Usenet and BitTorrent users. It monitors RSS feeds for new episodes, grabs, sorts, and renames them, and upgrades quality when better releases appear.
Start by setting up your datasets, then choose your install method.
Create the following datasets in TrueNAS or match these paths in Docker volumes. {.is-info}
| Dataset | Mount Path in App | Description |
|---|---|---|
tank/configs/sonarr |
/config |
Stores Sonarr's config |
tank/media |
/media |
Shared media mount |
tank/media/tv |
/media/tv |
Folder for TV downloads |
/mnt/tank/
├── configs/
│ └── sonarr/
└── media/
└── tv/
🔒 Set ownership to
apps(568):apps(568)(default user/group for SCALE apps). This ensures Sonarr can read/write configs and media. {.is-success}
services:
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=568
- PGID=568
- TZ=America/New_York
volumes:
- /mnt/tank/configs/sonarr:/config
- /mnt/tank/media:/media
ports:
- 8989:8989
restart: unless-stoppedUse the official TrueNAS Sonarr app with custom host paths.
| Step | Action |
|---|---|
| 1 | Apps → Discover Apps → Sonarr → Install |
| 2 | Set Port to 8989 |
| 3 | Sonarr Config → Host Path → /mnt/tank/configs/sonarr |
| 4 | Additional Storage → Host Path → /mnt/tank/media → /media |
| 5 | Click Save → Deploy |
Configure a reverse proxy (subdirectory or subdomain). Prefer a GUI? See NGINX Proxy Manager or Cloudflare Tunnel. {.is-info}
Subdirectory /sonarr
Nginx location block
location ^~ /sonarr {
proxy_pass http://127.0.0.1:8989;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
}Subdomain sonarr.yourdomain.tld
Nginx server block
server {
listen 80;
server_name sonarr.yourdomain.tld;
location / {
proxy_pass http://127.0.0.1:8989;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
}
}⚙️ Quickly set up your library, download client, and indexers. {.is-success}
- Enable Rename Episodes & Use Hard Links
Root Folders
- Add
/media/tvas a monitored root - Ensure Sonarr user has read/write access
qBittorrent & Prowlarr
| Client | Host | Port | Category | Remove Completed |
|---|---|---|---|---|
| qBittorrent | 192.168.1.25 | 8080 | tv-sonarr | ✅ |
Profiles
- Create or customize quality profiles
- Remove unused defaults
- Set a Cutoff for desired quality
🧪 For users running Recyclarr or tuning quality control.
| Field | Recommended |
|---|---|
| Rename Episodes | True |
| Episode Formats | TRaSH template strings |
| Series Folder Format | {Series TitleYear} [imdbid-{ImdbId}] |
| Propers & Repacks | Do Not Prefer |
| Set Permissions | True (chmod 770) |
- Delete default profiles
- Keep Recyclarr-generated profiles
- Set Jellyseerr as default where needed
- Enable Kodi/Emby metadata
- Backup folder:
/media, Interval: 1 day, Retention: 7
📤 Restoring a Backup
- Navigate to System → Backup
- Use one of two options for restoration: a. Either restore from a backup in the configured folder by clicking the clock icon at the end of a row b. Click the Restore Backup icon in the top to restore from a local .zip backup
📚 Running Multiple Instances
Manage 1080p & 4K libraries separately
Requirements:
- Separate
/configper instance - Unique external ports (e.g. 8988, 7879)
- Distinct root folders, categories, and names
Docker example
services:
sonarr-4k:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr-4k
environment:
- PUID=568
- PGID=568
- TZ=America/New_York
volumes:
- /mnt/tank/configs/sonarr4k:/config
- /mnt/tank/media-4k:/media
ports:
- 8988:8989
restart: unless-stopped🔄 You can sync instances via Lists → Import → Sonarr. {.is-info}
🧯 Start with the Health tab — Sonarr flags missing paths, failed downloads, and indexer issues. {.is-info}
📂 Sonarr cannot see media files
ls -lah /mnt/tank/media/tv
chown -R 568:568 /mnt/tank/media/tv🔐 Permission denied
chmod -R 770 /mnt/tank/media/tv📦 Downloads stay in qBittorrent
- Verify Download Client Path Mapping matches container paths.
- Confirm Sonarr can access completed-downloads directory.
- Scar13t — Page Layout & Design
🤝 Want to help? Open a PR or ping us on Discord! {.is-success}




