Files
homelab-optimized/docs/services/individual/sonarr.md
Gitea Mirror Bot e71c8ddb4b
Some checks failed
Documentation / Build Docusaurus (push) Failing after 5m5s
Documentation / Deploy to GitHub Pages (push) Has been skipped
Sanitized mirror from private repository - 2026-04-20 01:24:42 UTC
2026-04-20 01:24:42 +00:00

3.4 KiB

Sonarr

🟢 Media Service

Service Overview

Property Value
Service Name sonarr
Host Atlantis (Synology)
Category Media / TV
Docker Image lscr.io/linuxserver/sonarr:latest
Compose File hosts/synology/atlantis/arr-suite/docker-compose.yml
URL http://192.168.0.200:8989

Purpose

Sonarr is an automated TV series download manager. It monitors RSS feeds and indexers for new episodes, grabs them via SABnzbd (Usenet) or Deluge (torrent), and organises the files into your media library. It integrates with Prowlarr for indexer management and Bazarr for subtitles.

API Access

Field Value
URL http://192.168.0.200:8989
API Key REDACTED_SONARR_API_KEY
Header X-Api-Key: "REDACTED_API_KEY"
SONARR="http://192.168.0.200:8989"
SONARR_KEY="REDACTED_SONARR_API_KEY"

# System status
curl -s "$SONARR/api/v3/system/status" -H "X-Api-Key: $SONARR_KEY" | python3 -m json.tool

# Delay profiles (NZB-first config)
curl -s "$SONARR/api/v3/delayprofile" -H "X-Api-Key: $SONARR_KEY" | python3 -m json.tool

# Download clients
curl -s "$SONARR/api/v3/downloadclient" -H "X-Api-Key: $SONARR_KEY" | python3 -m json.tool

# Queue (active downloads)
curl -s "$SONARR/api/v3/queue" -H "X-Api-Key: $SONARR_KEY" | python3 -m json.tool

# Wanted / missing episodes
curl -s "$SONARR/api/v3/wanted/missing" -H "X-Api-Key: $SONARR_KEY" | python3 -m json.tool

Configuration

Docker Compose (in docker-compose.yml)

sonarr:
  image: lscr.io/linuxserver/sonarr:latest
  container_name: sonarr
  environment:
    - PUID=1029
    - PGID=100
    - TZ=America/Los_Angeles
    - UMASK=022
    - DOCKER_MODS=ghcr.io/themepark-dev/theme.park:sonarr
    - TP_SCHEME=http
    - TP_DOMAIN=192.168.0.200:8580
    - TP_THEME=dracula
  volumes:
    - /volume2/metadata/docker2/sonarr:/config
    - /volume1/data:/data
    - /volume3/usenet:/sab
  ports:
    - "8989:8989"
  networks:
    media2_net:
      ipv4_address: 172.24.0.7
  security_opt:
    - no-new-privileges:true
  restart: always

Config on Atlantis: /volume2/metadata/docker2/sonarr/

Download Priority

Sonarr uses an NZB-first / torrent-fallback strategy:

Setting Value
Preferred protocol Usenet
Usenet delay 0 min
Torrent delay 120 min
Bypass if highest quality false
SABnzbd priority 1 (highest)
Deluge priority 50 (fallback)

See docs/services/individual/download-priority.md for full details.

Connected Services

Service Role
SABnzbd Primary download client (Usenet)
Deluge Fallback download client (torrent, via gluetun VPN)
Prowlarr Indexer management
Bazarr Subtitle automation

Troubleshooting

Episode grabbed but not imported

  • Check queue: curl -s "$SONARR/api/v3/queue" -H "X-Api-Key: $SONARR_KEY"
  • Verify /volume1/data mount and permissions

SABnzbd not receiving jobs

  • Check download clients: Settings → Download Clients → SABnzbd → Test
  • Confirm SABnzbd is running: docker ps | grep sabnzbd

Torrent grabbed before 2-hour wait

  • Verify delay profile: bypassIfHighestQuality must be false
  • See docs/services/individual/download-priority.md