Managing a Plex library manually is a full-time hobby. Checking for new episodes, finding the right quality, renaming files, organizing folders, updating metadata — it adds up to hours per week. The “arr” stack (Sonarr, Radarr, and their companions) automates all of it. Once configured, new content appears in your Plex library automatically, properly named, correctly organized, and with metadata already applied.
This guide explains what each tool does, how they connect, and the configuration decisions that matter most. We’ll skip the basic install steps (every OS is different) and focus on the architecture and settings that make the system actually work well.
The Stack: What Each Tool Does
- Sonarr — monitors TV shows. Tracks series you’ve added, searches for new episodes when they air, downloads them via your download client, renames/moves files to your Plex library folder, and sends a notification to Plex to scan. Handles quality upgrades automatically (e.g., replacing a 720p release with a 1080p one when available).
- Radarr — the same thing, but for movies. Add a movie to your watchlist, and Radarr monitors for it, grabs the best available quality, and drops it into your Plex library.
- Prowlarr — indexer manager. Instead of configuring indexers individually in Sonarr and Radarr (which breaks when URLs change), Prowlarr manages all your indexers in one place and syncs them to both Sonarr and Radarr automatically.
- Overseerr — request system with a polished UI. Your Plex users browse a Netflix-style interface, request movies or shows, and Overseerr routes the request to Radarr or Sonarr. No more “can you add [show]?” messages.
- Download client — the actual downloader. qBittorrent, SABnzbd, or NZBGet. The arr apps tell it what to grab; it handles the transfer.
How They Connect Together
The flow is linear and fully automatic once set up:
- A user requests a movie or show via Overseerr (or you add it directly in Sonarr/Radarr)
- Overseerr sends the request to Radarr (movie) or Sonarr (TV)
- Radarr/Sonarr searches Prowlarr’s indexers for the best available release matching your quality profile
- The arr app sends the download to your download client (qBittorrent/SABnzbd)
- Once downloaded, the arr app renames the file, moves it to the correct Plex library folder, and notifies Plex to scan
- The content appears in Plex with correct metadata, poster, and organization
Every step is logged. If something fails — indexer timeout, no matching release, disk full — you get a clear error in the arr app’s activity feed.
Quality Profiles: Getting This Right
Quality profiles are the most important configuration in both Sonarr and Radarr. They define what quality levels are acceptable and in what order of preference. Get this wrong and you’ll either end up with 4K remuxes filling your drive at 60GB per movie, or 480p web rips that look terrible on a 65” TV.
Recommended profile for most people:
- Minimum: HDTV-720p / WEBDL-720p (don’t accept anything below 720p)
- Preferred: Bluray-1080p / WEBDL-1080p (the sweet spot for quality vs. file size)
- Upgrade until: Bluray-1080p (stop upgrading once you have a good 1080p copy)
If you have a 4K TV and the storage for it, create a separate “4K” quality profile that prefers Bluray-2160p, and use a separate root folder. This lets you keep a 1080p copy for remote streaming (which avoids 4K transcoding) and a 4K copy for local playback.
File Naming and Folder Structure
Proper naming is what makes Plex’s metadata matching work. Both Sonarr and Radarr handle renaming automatically, but you need to configure the naming format in Settings → Media Management.
Radarr movie naming:
{Movie Title} ({Release Year}) - [{Quality Title}]
Result: The Dark Knight (2008) - [Bluray-1080p].mkv
Sonarr episode naming:
{Series Title} - S{season:00}E{episode:00} - {Episode Title} [{Quality Title}]
Result: Breaking Bad - S01E01 - Pilot [Bluray-1080p].mkv
Keep movies and TV shows in separate root folders (/media/movies and /media/tv, or whatever your structure is). Never mix them. Plex expects separate libraries for each type.
Prowlarr: Centralized Indexer Management
Before Prowlarr existed, you had to add every indexer to both Sonarr and Radarr independently. When an indexer changed its URL or API key, you had to update it in multiple places. Prowlarr eliminates this by acting as a central hub.
- Add all your indexers in Prowlarr (Settings → Indexers → Add)
- Connect Prowlarr to Sonarr and Radarr (Settings → Apps → Add)
- Prowlarr automatically pushes indexer configurations to both apps and keeps them in sync
When an indexer goes down or changes, you update it in Prowlarr once. The change propagates everywhere. This alone saves hours of maintenance over time.
Overseerr: Letting Users Request Content
Overseerr connects to your Plex server and shows users a beautiful browse/search interface. They can request movies and shows, see what’s already available, and track the status of their requests. You can set approval modes (auto-approve for trusted users, manual approval for others) and per-user quotas.
Key configuration:
- Connect to Plex first — Overseerr imports your Plex users so they can log in with their Plex credentials
- Connect to Radarr and Sonarr — specify which quality profile and root folder to use for requests
- Set default permissions — Auto-approve for the server owner, request-only for shared users
- Enable notifications — Discord webhooks or email alerts when requests are approved, available, or failed
Maintenance and Monitoring
Once the stack is running, it mostly takes care of itself. But a few things need periodic attention:
- Check disk space regularly. A full disk means downloads fail silently and nothing new gets added. Set up notifications in Radarr/Sonarr (Settings → Connect → add a Discord/email notification for “Health” events).
- Update the apps. Sonarr, Radarr, and Prowlarr release updates frequently with bug fixes and new indexer support. Docker makes this easy: pull the latest image and restart.
- Monitor failed imports. The Activity → Queue page in Sonarr/Radarr shows pending and failed imports. Common causes: permissions issues, disk full, or naming conflicts.
- Prune old content. If you’re running low on space, use Radarr’s bulk editor to filter movies by file size, age, or rating and clean up what you no longer want.
Docker or Bare Metal?
The entire arr stack runs beautifully in Docker. Each app gets its own container, networking is isolated, updates are trivial (pull + restart), and you can spin up the whole thing with a single docker-compose.yml. If you’re already running Plex in Docker, adding Sonarr/Radarr/Prowlarr/Overseerr is just a few more services in the same compose file.
The main gotcha: volume mounts. All the arr apps, your download client, and Plex need to see the same file system paths. If Sonarr thinks a file is at /data/movies/ but Plex sees it at /media/movies/, imports will succeed but Plex won’t find the files. Use consistent bind mounts across all containers.
How PlexBeam Fits In
PlexBeam handles the transcoding side — offloading CPU-intensive video conversion to a remote GPU. The arr stack handles the content acquisition side. Together, they make Plex fully automated from request to playback: Overseerr takes the request, Sonarr/Radarr grabs the content, PlexBeam handles transcoding for remote users, and everyone gets a smooth experience without you lifting a finger.