docker.recipes

Sonarr + Radarr

intermediate

Automated TV show and movie download management.

Overview

Sonarr is a PVR (Personal Video Recorder) application for Usenet and BitTorrent users that automatically monitors RSS feeds for new TV show episodes, downloading and organizing them with intelligent renaming and quality management. Originally forked from Drone in 2014, Sonarr has become the gold standard for automated television content management, offering sophisticated monitoring capabilities, failed download handling, and extensive integration with popular media servers like Plex and Jellyfin. Radarr serves as Sonarr's movie-focused counterpart, providing identical functionality but optimized for film collection management, including integration with movie databases like IMDb and Trakt for wishlist automation. This dual-application stack creates a comprehensive automated media acquisition system where Sonarr handles episodic content while Radarr manages movie downloads. Both applications share the same codebase foundation and user interface paradigms, making them natural companions that can utilize shared download clients, indexers, and media storage locations. The combination eliminates manual searching and downloading by automatically monitoring release groups, applying quality filters, and organizing content according to established naming conventions that media servers can parse effectively. Home media enthusiasts, cord-cutters, and anyone maintaining substantial digital libraries will find this pairing invaluable for reducing manual intervention in content acquisition. The stack particularly benefits users with Usenet or private torrent access who want professional-grade automation without the complexity of enterprise solutions, offering the perfect balance between powerful features and user-friendly operation for personal media server environments.

Key Features

  • Automatic episode and movie monitoring with RSS feed integration
  • Quality profile management with preferred release groups and formats
  • Failed download handling with automatic re-queuing and blacklisting
  • Calendar view showing upcoming releases and airing schedules
  • Manual search capabilities with torrent and NZB preview
  • Metadata fetching from TVDB, TMDb, and IMDb with poster artwork
  • Multi-indexer support with Jackett and Prowlarr synchronization
  • Custom naming templates for organized media library structure

Common Use Cases

  • 1Home media server automation for Plex or Jellyfin libraries
  • 2Cord-cutting households wanting automatic content acquisition
  • 3Private torrent community members seeking efficient ratio management
  • 4Usenet subscribers requiring automated NZB processing workflows
  • 5Multi-user family environments with diverse viewing preferences
  • 6Media enthusiasts maintaining 4K and high-quality release collections
  • 7Remote media management for users accessing content while traveling

Prerequisites

  • Minimum 1GB RAM allocation for both containers during peak processing
  • Access to Usenet providers or torrent indexers for content sources
  • Download client like qBittorrent, Deluge, or SABnzbd properly configured
  • Properly structured media directories with appropriate permissions (PUID/PGID)
  • Available ports 8989 and 7878 for web interface access
  • Understanding of quality profiles and release group preferences

For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms

docker-compose.yml

docker-compose.yml
1services:
2 sonarr:
3 image: linuxserver/sonarr:latest
4 container_name: sonarr
5 restart: unless-stopped
6 environment:
7 PUID: 1000
8 PGID: 1000
9 TZ: UTC
10 volumes:
11 - sonarr_config:/config
12 - /path/to/tv:/tv
13 - /path/to/downloads:/downloads
14 ports:
15 - "8989:8989"
16 networks:
17 - arr
18
19 radarr:
20 image: linuxserver/radarr:latest
21 container_name: radarr
22 restart: unless-stopped
23 environment:
24 PUID: 1000
25 PGID: 1000
26 TZ: UTC
27 volumes:
28 - radarr_config:/config
29 - /path/to/movies:/movies
30 - /path/to/downloads:/downloads
31 ports:
32 - "7878:7878"
33 networks:
34 - arr
35
36volumes:
37 sonarr_config:
38 radarr_config:
39
40networks:
41 arr:
42 driver: bridge

.env Template

.env
1# Configure your media and download paths

Usage Notes

  1. 1Docs: https://wiki.servarr.com/sonarr and https://wiki.servarr.com/radarr
  2. 2Sonarr at http://localhost:8989 (TV), Radarr at http://localhost:7878 (Movies)
  3. 3Add indexers via Settings > Indexers (Prowlarr can sync across *arr apps)
  4. 4Configure download client: Settings > Download Clients (qBittorrent, SABnzbd)
  5. 5Set root folders to match your media library structure
  6. 6Use profiles to set quality preferences (1080p, 4K, etc.)

Individual Services(2 services)

Copy individual services to mix and match with your existing compose files.

sonarr
sonarr:
  image: linuxserver/sonarr:latest
  container_name: sonarr
  restart: unless-stopped
  environment:
    PUID: 1000
    PGID: 1000
    TZ: UTC
  volumes:
    - sonarr_config:/config
    - /path/to/tv:/tv
    - /path/to/downloads:/downloads
  ports:
    - "8989:8989"
  networks:
    - arr
radarr
radarr:
  image: linuxserver/radarr:latest
  container_name: radarr
  restart: unless-stopped
  environment:
    PUID: 1000
    PGID: 1000
    TZ: UTC
  volumes:
    - radarr_config:/config
    - /path/to/movies:/movies
    - /path/to/downloads:/downloads
  ports:
    - "7878:7878"
  networks:
    - arr

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 sonarr:
5 image: linuxserver/sonarr:latest
6 container_name: sonarr
7 restart: unless-stopped
8 environment:
9 PUID: 1000
10 PGID: 1000
11 TZ: UTC
12 volumes:
13 - sonarr_config:/config
14 - /path/to/tv:/tv
15 - /path/to/downloads:/downloads
16 ports:
17 - "8989:8989"
18 networks:
19 - arr
20
21 radarr:
22 image: linuxserver/radarr:latest
23 container_name: radarr
24 restart: unless-stopped
25 environment:
26 PUID: 1000
27 PGID: 1000
28 TZ: UTC
29 volumes:
30 - radarr_config:/config
31 - /path/to/movies:/movies
32 - /path/to/downloads:/downloads
33 ports:
34 - "7878:7878"
35 networks:
36 - arr
37
38volumes:
39 sonarr_config:
40 radarr_config:
41
42networks:
43 arr:
44 driver: bridge
45EOF
46
47# 2. Create the .env file
48cat > .env << 'EOF'
49# Configure your media and download paths
50EOF
51
52# 3. Start the services
53docker compose up -d
54
55# 4. View logs
56docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/sonarr-radarr/run | bash

Troubleshooting

  • Import failed - Path does not exist or is not accessible: Verify volume mounts match between Sonarr/Radarr and download client container paths
  • No indexers available, add at least one indexer: Configure indexers in Settings > Indexers or set up Prowlarr for automatic synchronization
  • Unable to connect to download client: Ensure download client container is on same Docker network and using container name as hostname
  • Movies/shows not moving from downloads folder: Check that root folder paths are correctly mapped and file permissions allow container access
  • Health check warnings about mono or sqlite: Update to latest LinuxServer.io image versions which include optimized runtime dependencies
  • Calendar not loading or showing gaps: Verify TVDB/TMDb API connectivity and refresh series metadata in Mass Editor

Community Notes

Loading...
Loading notes...

Download Recipe Kit

Get all files in a ready-to-deploy package

Includes docker-compose.yml, .env template, README, and license

Ad Space