The *Arr Stack
Sonarr, Radarr, and friends. The automation layer that makes your media server feel like magic.
What are the *arr apps?
The "*arr" apps are a family of tools that automate the process of finding, downloading, organizing, and managing media. They all follow the same pattern: you tell them what you want, they search for it, grab it, rename it, sort it into the right folder, and notify your media server. You don't have to lift a finger.
Each app handles a different type of media:
- Sonarr -- TV shows
- Radarr -- Movies
- Lidarr -- Music
- Readarr -- Books and audiobooks
- Prowlarr -- Indexer management (connects all the search sources to the other apps)
- Bazarr -- Subtitles
They all have web-based interfaces, run in Docker, and integrate with each other beautifully. Set them up once and they just run in the background, keeping your library up to date.
How they work (the basic flow)
Here's what happens when you add a TV show to Sonarr, for example:
- You search for a show (e.g., "Breaking Bad") and click "Add"
- Sonarr checks your quality profile -- do you want 1080p? 4K? Whatever's available?
- Sonarr asks Prowlarr to search all your configured indexers for the show
- Results come back, Sonarr picks the best match based on your quality preferences
- Sonarr sends the download to your download client (SABnzbd for Usenet, qBittorrent for torrents)
- The download completes, Sonarr detects it, renames the file properly, and moves it into your media folder
- Plex or Jellyfin picks up the new file and adds it to your library
- For ongoing shows, Sonarr monitors for new episodes and repeats the process automatically
Radarr, Lidarr, and Readarr all work the same way -- just for different media types.
Docker Compose setup
Here's a combined docker-compose.yml that runs the core arr stack. Add this to the same compose file as your media server, or create a separate one:
services:
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
volumes:
- ./sonarr/config:/config
- /data:/data
ports:
- "8989:8989"
restart: unless-stopped
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
volumes:
- ./radarr/config:/config
- /data:/data
ports:
- "7878:7878"
restart: unless-stopped
lidarr:
image: lscr.io/linuxserver/lidarr:latest
container_name: lidarr
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
volumes:
- ./lidarr/config:/config
- /data:/data
ports:
- "8686:8686"
restart: unless-stopped
readarr:
image: lscr.io/linuxserver/readarr:develop
container_name: readarr
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
volumes:
- ./readarr/config:/config
- /data:/data
ports:
- "8787:8787"
restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
volumes:
- ./prowlarr/config:/config
ports:
- "9696:9696"
restart: unless-stopped
bazarr:
image: lscr.io/linuxserver/bazarr:latest
container_name: bazarr
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
volumes:
- ./bazarr/config:/config
- /data/media:/data/media
ports:
- "6767:6767"
restart: unless-stopped
/data so they can see both the downloads directory and the media directory. This is essential for hardlinks to work (see the overview guide for why this matters).
Start everything with:
docker compose up -d
Then access each app's web UI:
- Sonarr:
http://your-server:8989 - Radarr:
http://your-server:7878 - Lidarr:
http://your-server:8686 - Readarr:
http://your-server:8787 - Prowlarr:
http://your-server:9696 - Bazarr:
http://your-server:6767
Sonarr: TV shows
Sonarr is probably the app you'll use most. It manages your TV show library, monitors for new episodes, and grabs them automatically as they air.
Initial setup
Open Sonarr at http://your-server:8989. The first time, you'll be asked to set up authentication. Create a username and password.
Adding a root folder
Go to Settings > Media Management and add a root folder. This is where Sonarr will store your TV shows. If you followed the folder structure from the overview guide:
/data/media/tv
Connecting a download client
Go to Settings > Download Clients and add your download client:
- For SABnzbd: select SABnzbd, enter the host (usually
sabnzbdif using Docker networking, or your server IP), port (8080), and API key (found in SABnzbd's settings) - For qBittorrent: select qBittorrent, enter the host, port (8080), username and password
Set the category to tv for Sonarr. This tells the download client to sort Sonarr's downloads into a "tv" subfolder, keeping things organized.
Quality profiles
Quality profiles tell Sonarr what quality you want. Go to Settings > Profiles. The defaults are fine to start, but here's what they mean:
- Any -- grab whatever's available first. Good if you just want content fast.
- SD -- standard definition only. Saves disk space.
- HD-720p/1080p -- most people want this. Good quality without massive file sizes.
- HD-1080p -- 1080p only. The sweet spot for most setups.
- Ultra-HD -- 4K content. Large files, amazing quality. Make sure your server can handle it.
Adding a show
Click Add New (the + icon), search for a show, and configure:
- Root folder -- where to store it (
/data/media/tv) - Quality profile -- which quality you want
- Season folder -- yes, keep this on
- Monitor -- which episodes to monitor. "All Episodes" grabs everything. "Future Episodes" only grabs new ones going forward.
- Check "Start search for missing episodes" if you want Sonarr to immediately search for existing episodes
That's it. Sonarr will search your indexers, download what it finds, rename the files, and put them in your TV folder. Going forward, it'll automatically grab new episodes as they air.
Radarr: movies
Radarr is Sonarr's sibling, built specifically for movies. The interface and workflow are nearly identical.
Setup
Open Radarr at http://your-server:7878. The setup process mirrors Sonarr:
- Root folder:
/data/media/movies - Download client: Same clients as Sonarr, but set the category to
movies - Quality profile: Same concepts as Sonarr. HD-1080p is a good default.
Adding a movie
Click Add New, search for a movie, select your quality profile and root folder, and hit "Add Movie." Check "Start search for movie" to begin looking immediately.
Radarr also has a great Discover feature that shows popular, trending, and recommended movies. It's an easy way to fill out your library.
Lidarr: music
Lidarr handles music the same way Sonarr handles TV -- you add an artist, pick what quality you want, and it grabs their discography.
Setup
Open Lidarr at http://your-server:8686. Configure:
- Root folder:
/data/media/music - Download client: Same setup, category
music - Quality profile: Lidarr has profiles for FLAC (lossless), MP3-320 (high quality compressed), and others. Pick based on your preference and storage.
Adding an artist
Search for an artist, select which albums to monitor (all, future only, or specific ones), and add. Lidarr uses MusicBrainz for its metadata, so it's very thorough about album details.
A heads up: music is harder to automate than TV and movies. File naming is less standardized, and results can be hit-or-miss depending on your indexers. Lidarr works best with good Usenet indexers or well-organized private trackers.
Readarr: books & audiobooks
Readarr extends the arr family to ebooks and audiobooks. Still in active development (it uses the "develop" Docker tag), but functional and improving quickly.
Setup
Open Readarr at http://your-server:8787. Configure:
- Root folder:
/data/media/books - Download client: Same setup, category
books - Quality profile: Readarr has profiles for ebooks (EPUB, MOBI, PDF) and audiobooks (MP3, M4B)
Add authors just like you'd add artists in Lidarr. Readarr will search for their works and grab what it can find.
Prowlarr: the indexer manager
Prowlarr is the glue that holds the search side of things together. Instead of adding indexers individually to Sonarr, Radarr, Lidarr, and Readarr, you add them once in Prowlarr and it syncs everything.
Setup
Open Prowlarr at http://your-server:9696.
Adding indexers
Go to Indexers > Add Indexer. Prowlarr supports hundreds of indexers out of the box. You'll see categories for Usenet and torrent indexers. Add the ones you have accounts on -- each will ask for different credentials (API key, username/password, etc.).
See the Indexers guide for a deeper dive on choosing and configuring indexers.
Syncing to apps
This is the magic part. Go to Settings > Apps and add each of your arr apps:
- Click "Add Application"
- Select Sonarr (or Radarr, Lidarr, etc.)
- Enter the Prowlarr server URL (e.g.,
http://prowlarr:9696) - Enter the app's server URL (e.g.,
http://sonarr:8989) - Enter the app's API key (found in each app under Settings > General)
- Click "Test" then "Save"
Now every indexer you add to Prowlarr automatically appears in all your connected arr apps. Add a new indexer? It syncs everywhere. Remove one? Gone from everywhere. One place to manage them all.
Bazarr: subtitles
Bazarr monitors your Sonarr and Radarr libraries and automatically downloads subtitles for your media. Essential if you watch content in multiple languages or prefer subtitles.
Setup
Open Bazarr at http://your-server:6767. You'll need to:
- Go to Settings > Sonarr and Settings > Radarr to connect your media managers (enter host, port, and API key)
- Go to Settings > Providers and enable subtitle providers. OpenSubtitles.org is the most popular (requires a free account). You can also add Subscene, Addic7ed, and others.
- Go to Settings > Languages and set your preferred subtitle languages
Bazarr will scan your existing library and start searching for missing subtitles. It'll also monitor for new additions and grab subtitles automatically.
Connecting everything together
Here's a checklist for getting the full stack connected:
- Prowlarr: Add your indexers, then connect Prowlarr to Sonarr, Radarr, Lidarr, and Readarr via Settings > Apps
- Sonarr/Radarr/Lidarr/Readarr: Add your download clients (SABnzbd and/or qBittorrent) with proper categories
- Bazarr: Connect to Sonarr and Radarr, add subtitle providers
- Media server: Point Plex/Jellyfin at your media folders. They'll automatically pick up new files.
Quality profiles: a deeper look
Getting your quality profiles right is one of the most important things you can do. Here are some recommended setups:
The "good enough" profile
For most people who just want to watch stuff without worrying about file sizes:
- Allow: HDTV-720p through Bluray-1080p
- Upgrade until: Bluray-1080p
- This gives you decent quality fast, and upgrades to Blu-ray quality when available
The "quality matters" profile
For people with plenty of storage who want the best:
- Allow: Bluray-1080p and above
- Upgrade until: Remux-1080p or Bluray-2160p
- Larger files (10-40 GB per movie), but excellent quality
The "4K collector" profile
- Allow: Bluray-2160p and Remux-2160p only
- 50-80 GB per movie. You'll need a lot of storage.
- Best paired with a separate 1080p library for devices that can't handle 4K
Custom formats
Sonarr v4 and Radarr support custom formats -- scoring rules that let you prefer or avoid specific release characteristics. For example:
- Prefer releases with Dolby Atmos audio
- Avoid "hardcoded subtitles" releases
- Prefer x265 encoding (smaller files, same quality)
- Avoid low-quality encodes from specific groups
Custom formats are powerful but optional. The default profiles work fine for getting started. You can fine-tune later as you learn what matters to you.
Tips and common issues
Permissions
The most common issue people hit is file permissions. Make sure:
- All containers use the same
PUIDandPGID - Your media and download directories are owned by that user
- Run
sudo chown -R 1000:1000 /dataif you're having issues (replace 1000 with your actual UID/GID)
Naming and matching
If the arr apps can't find a match for something, it's usually because the release name doesn't match what the app expects. You can do a manual search (the magnifying glass icon) to see what's available and manually select a result.
Activity queue
Each app has an Activity tab showing current downloads, imports in progress, and any issues. If something seems stuck, check here first.
Backups
The arr apps automatically create backups of their databases. You can find them in each app under System > Backup. It's a good idea to periodically copy the config folders somewhere safe. Rebuilding your configuration from scratch is painful.
Next steps
Your arr apps are ready to go, but they need two things to actually work: download clients to pull files, and indexers to search for them.
- Download Clients -- Set up SABnzbd (Usenet) and qBittorrent (torrents)
- Indexers -- Where the arr apps find content