Deploying Sonarr
Introduction
Sonarr is a PVR (Personal Video Recorder) for Usenet and BitTorrent users. It monitors multiple RSS feeds for new episodes of your favorite TV shows and automatically downloads, sorts, and renames them. Sonarr integrates with popular download clients and media servers to provide a seamless experience for managing your TV series collection.
As part of the *arr family of applications (along with Radarr, Lidarr, and others), Sonarr has become the go-to solution for home media enthusiasts who want automated TV show management.
Key features of Sonarr include:
- Calendar View: See upcoming episodes and past releases at a glance
- Automatic Downloading: Monitor RSS feeds and download new episodes automatically
- Quality Management: Upgrade existing files when better quality becomes available
- Failed Download Handling: Automatic retry and blacklisting of failed downloads
- Episode Renaming: Consistent naming across your library
- Metadata Fetching: Download artwork, descriptions, and episode information
- Download Client Integration: Works with SABnzbd, NZBGet, Transmission, qBittorrent, and more
- Media Server Integration: Notify Plex, Emby, Jellyfin when new content arrives
- Custom Filters: Fine-grained control over what gets downloaded
- Multi-Platform: Runs on Windows, macOS, Linux, and Docker
- REST API: Full API for automation and custom integrations
- Active Development: Regular updates and community support
This guide walks through deploying Sonarr on Klutch.sh using Docker.
Why Deploy Sonarr on Klutch.sh
Deploying Sonarr on Klutch.sh provides several advantages:
Simplified Deployment: Klutch.sh handles container builds and deployment.
Remote Management: Manage your TV collection from anywhere.
HTTPS by Default: Secure access to your Sonarr dashboard.
Persistent Storage: Configuration and data survive restarts.
Integration Ready: Connect to download clients and media servers.
Always Running: Continuous monitoring for new episodes.
Prerequisites
Before deploying Sonarr on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your configuration
- A download client (SABnzbd, NZBGet, Transmission, etc.)
- Indexer access (Usenet indexer or torrent trackers)
- Basic familiarity with Docker
- (Optional) A media server like Plex or Jellyfin
Important Considerations
Sonarr is a management and automation tool—it doesn’t download files directly. You’ll need:
- Download Client: External application that performs actual downloads
- Storage Access: Sonarr needs access to where downloads are stored and where media is organized
- Indexers: Services that provide search results for content
For cloud deployments, consider network storage solutions that both Sonarr and your download client can access.
Deploying Sonarr on Klutch.sh
Create a GitHub Repository
Create a new GitHub repository for your Sonarr deployment configuration.
Create Your Dockerfile
Create a Dockerfile:
FROM lscr.io/linuxserver/sonarr:latest
ENV PUID=1000ENV PGID=1000ENV TZ=${TZ:-Etc/UTC}
VOLUME /configVOLUME /tvVOLUME /downloads
EXPOSE 8989
HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \ CMD curl -f http://localhost:8989/ping || exit 1Push Your Repository to GitHub
Commit and push your Dockerfile.
Create a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project.
Create a New App
Create a new app and connect your GitHub repository.
Configure Environment Variables
Add environment variables:
| Variable | Value |
|---|---|
PUID | 1000 |
PGID | 1000 |
TZ | Your timezone (e.g., America/New_York) |
Configure HTTP Settings
Set the traffic type to HTTP and configure the internal port to 8989.
Attach Persistent Storage
Add persistent volumes:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/config | 1 GB | Sonarr configuration and database |
/tv | As needed | Your TV show library |
/downloads | As needed | Download client output |
Deploy Your Application
Click Deploy to start the build process.
Access Sonarr
Once deployed, access Sonarr at your app’s URL.
Configure Security
Set up authentication in Settings > General > Security.
Add Indexers
Configure your indexers in Settings > Indexers.
Add Download Client
Configure your download client in Settings > Download Clients.
Initial Configuration
After deployment, configure Sonarr:
- Set Up Authentication: Enable Forms authentication with username/password
- Add Indexers: Connect your Usenet indexer or torrent tracker
- Configure Download Client: Point to your SABnzbd, NZBGet, or torrent client
- Set Root Folder: Define where TV shows should be stored
- Quality Profiles: Configure preferred quality settings
Adding TV Shows
To start monitoring a show:
- Click “Add Series”
- Search for the show by name
- Select the correct match
- Choose root folder and quality profile
- Decide whether to search for existing episodes
- Click “Add Series”
Integration with Media Servers
Connect Sonarr to your media server for automatic library updates:
Plex: Settings > Connect > Add > Plex Media Server
Jellyfin: Settings > Connect > Add > Emby (Jellyfin compatible)
Download Client Connectivity
For cloud deployments, your download client must be network-accessible. Options include:
- Deploy download client on same infrastructure
- Use VPN or secure tunnel
- Configure network storage both services can access
Additional Resources
- Sonarr GitHub Repository
- Sonarr Official Website
- Sonarr Wiki
- Sonarr Subreddit
- Klutch.sh Persistent Volumes
- Klutch.sh Deployments
Conclusion
Deploying Sonarr on Klutch.sh gives you a powerful TV show management system accessible from anywhere. Automate your media collection with intelligent downloading, organization, and integration with your existing media setup.
While Sonarr works best as part of a larger media stack, its flexibility allows deployment in various configurations. Combined with proper download clients and storage, Sonarr transforms how you manage your TV series collection.