Skip to content

Latest commit

 

History

History
307 lines (208 loc) · 8.48 KB

File metadata and controls

307 lines (208 loc) · 8.48 KB
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.

1 · Deploy Sonarr

Start by setting up your datasets, then choose your install method.

tabs {.tabset}

📂 Folder Setup

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}

Docker Compose

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-stopped

TrueNAS Community Edition

Use the official TrueNAS Sonarr app with custom host paths.

Step Action
1 Apps → Discover Apps → SonarrInstall
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 SaveDeploy

NGINX Reverse Proxy

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;
  }
}

2 · First-Run Configuration

⚙️ Quickly set up your library, download client, and indexers. {.is-success}

tabs {.tabset}

📁 Library Setup

  • Enable Rename Episodes & Use Hard Links

Root Folders

  • Add /media/tv as a monitored root
  • Ensure Sonarr user has read/write access

📥 Clients & Indexers

qBittorrent & Prowlarr

Client Host Port Category Remove Completed
qBittorrent 192.168.1.25 8080 tv-sonarr

🎯 Quality Profiles

Profiles

  • Create or customize quality profiles
  • Remove unused defaults
  • Set a Cutoff for desired quality

3 · Advanced Tweaks (Optional)

🧪 For users running Recyclarr or tuning quality control.

🛠️ Media Management Presets

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)

📐 Profiles & Quality

  • Delete default profiles
  • Keep Recyclarr-generated profiles
  • Set Jellyseerr as default where needed

💾 Metadata & Backups

  • Enable Kodi/Emby metadata
  • Backup folder: /media, Interval: 1 day, Retention: 7
📤 Restoring a Backup
  1. Navigate to System → Backup
  2. 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 /config per 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}


4 · Troubleshooting

🧯 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.

✏️ Editors & Contributors

  • Scar13t — Page Layout & Design

🤝 Want to help? Open a PR or ping us on Discord! {.is-success}


5 · Video Guide

Patreon Logo Patreon Video
Advanced Media Management on Patreon
Advanced Media Management
YouTube Logo YouTube Guide
Installing Sonarr TrueNAS Community Edition 2025
Installing Sonarr (TrueNAS CE 2025)