The mistake almost everyone makes on their first arr stack build has nothing to do with the apps. It is the paths. You install Sonarr, point it at your downloads folder, point Plex at your media folder, and then spend a weekend wondering why every finished download sits there refusing to move.
I did exactly that in 2021 on a fresh Unraid box, and it took me three days to figure out that my containers were each seeing a different version of the same disk.
So this guide fixes that first. Get the folder structure right and the rest of the arr stack falls into place in about an hour.
What each app actually does
Before touching Docker, it helps to know who is responsible for what. These three tools each own one job, and they hand work off to each other.
- Prowlarr manages your indexers and trackers in one place, then pushes them to the other apps.
- Sonarr watches TV shows, grabs new episodes, and renames them.
- Radarr does the same thing for movies.
You also need a download client, usually qBittorrent or SABnzbd, plus Plex or Jellyfin to actually play the media. The arr apps are the middle managers, not the players.
Think of it as an assembly line. Prowlarr is the front desk taking requests to the trackers, the download client is the warehouse, and Sonarr and Radarr are the shipping clerks who file each finished item into the right shelf. Plex just reads the shelves.

Step 1: Build one shared folder structure
This is the part that saves your weekend. Every container needs to see the same root path, so a file moved by Sonarr looks like the same file to Plex.
On Unraid, create a single share called data. Inside it, build this tree:
/mnt/user/data/torrentsfor your download client/mnt/user/data/media/tvfor Sonarr/mnt/user/data/media/moviesfor Radarr
The reason this matters is hardlinks. When your download client and Sonarr both see files under the same /data mount, Sonarr can hardlink a finished file into your media folder instead of copying it. That means no doubled disk usage and instant "moves," and your torrents keep seeding from the original location. If the paths differ, Unraid falls back to a slow copy that eats space.
To make this concrete: a 40 GB 4K movie hardlinked into your library uses zero extra space and appears instantly. That same file copied across mismatched paths takes minutes and doubles to 80 GB until the torrent finishes seeding. On a busy night grabbing a full season, that difference is the gap between everything working and your array filling up by morning.
Step 2: Install the containers from Community Apps
Open the Apps tab in Unraid. If it is not there, install Community Applications first, which is the plugin that gives Unraid its app store.
Search for each of these and install the LinuxServer.io versions, which are the most maintained:
- Prowlarr
- Sonarr
- Radarr
- qBittorrent (or SABnzbd if you use Usenet)
Here is the single most important setting during install. For every arr container, delete the default separate download and media path mappings. Replace them with one mapping: container path /data pointing to host path /mnt/user/data.
Step 3: Set your download client's save path
Log into qBittorrent at its web UI, usually port 8080. The default password shows in the container log on first boot, so check the Unraid log if the login fails.
Under Options, Downloads, set the default save path to /data/torrents. Turn off any "keep incomplete torrents in" subfolder unless you point that at /data/torrents/incomplete as well.
Add a category if you like, but keep every path under /data/torrents. Consistency here is what makes the automation invisible later.
Step 4: Wire up Prowlarr first
Open Prowlarr on port 9696. Add your indexers under the Indexers tab. Public torrent indexers are one click, private trackers need your API key or credentials.
Then go to Settings, Apps and add Sonarr and Radarr as applications. You will need each app's API key, found in each one under Settings, General.
For the server addresses inside Prowlarr, use the container name or Unraid IP, not localhost. Something like http://192.168.1.50:8989 for Sonarr. Localhost points at Prowlarr itself, which is a classic first-timer error.
Step 5: Configure Sonarr and Radarr
Open Sonarr on port 8989 and Radarr on 7878. The steps are identical, so I will describe Sonarr and you repeat for movies.
Under Settings, Media Management, add a root folder of /data/media/tv. For Radarr, use /data/media/movies. Turn on Rename Episodes and, importantly, enable Use Hardlinks instead of Copy.
Now connect the download client. Go to Settings, Download Clients, add qBittorrent, and point it at the Unraid IP with port 8080 and your credentials.
| App | Default port | Root folder |
|---|---|---|
| Prowlarr | 9696 | n/a |
| Sonarr | 8989 | /data/media/tv |
| Radarr | 7878 | /data/media/movies |
| qBittorrent | 8080 | /data/torrents |
Step 6: Point Plex at the media folder
In Plex, create a TV library pointing at /data/media/tv and a movie library at /data/media/movies. Make sure your Plex container also mounts /mnt/user/data as /data, exactly like the arr apps.
If Plex uses a different mapping, it will not see files Sonarr places, and you are back to the mismatched-path problem from the intro. Same mount everywhere. That is the whole trick.
Add a show in Sonarr, hit search, and watch it flow: Prowlarr finds it, qBittorrent grabs it, Sonarr hardlinks it into the TV folder, Plex picks it up within a minute.
A quick sanity check when nothing moves
If a download completes but never appears in Plex, ninety percent of the time it is paths. Open Sonarr's Activity, Queue and look for an import warning.
A message like Remote download client and Sonarr have different paths confirms the mismatch. Fix the mapping so both use /data, restart the containers, and reprocess the queue.
The TRaSH Guides community documentation is the gold standard here if you want to go deeper on quality profiles and naming. For Docker volume behavior itself, the official Docker volumes documentation explains why the shared mount matters.
Where to go from here
Once the core loop works, the fun starts. You can add Bazarr for subtitles, Overseerr so family members request titles without touching Sonarr, and Recyclarr to sync quality profiles from TRaSH automatically.
But resist the urge to bolt all of that on day one. Get one show downloading, playing, and hardlinking cleanly first. A stack you understand beats a stack you copied, and the hour you spend on paths today is the weekend you save every month after.
One last habit worth building: back up your appdata folder. All your indexer keys, quality profiles, and history live in tiny SQLite databases under /mnt/user/appdata. The Unraid CA Backup plugin can snapshot them nightly, and the day a container update goes sideways you will restore in two minutes instead of rebuilding the whole stack from memory.
Frequently asked questions
Why won't my finished downloads move into Plex?
Almost always a path mismatch. Your download client and Sonarr must both see the file under the same mount, like /data. Check Sonarr's Activity queue for a warning about different paths, then fix the container mappings so every app mounts /mnt/user/data as /data.
Do I need Prowlarr, or can I add indexers directly to Sonarr?
You can add them directly, but Prowlarr saves huge amounts of time. It manages all your indexers in one place and syncs them to Sonarr and Radarr automatically. Add an indexer once and it appears everywhere, which is far easier than editing each app separately.
What is a hardlink and why does it matter here?
A hardlink lets two folders point at the same file on disk without copying it. When your download client and arr apps share the /data mount, Sonarr can hardlink a file into your media folder instantly, using no extra space, while the torrent keeps seeding from the original location.
Should I use torrents or Usenet with the arr stack?
Both work identically from the arr side. Torrents use qBittorrent and are free but require seeding. Usenet uses SABnzbd, needs a paid provider and indexer, but downloads faster with no seeding obligation. Many people run both and let the arr apps pick the best result.
Can I run the arr stack and Plex on the same Unraid box?
Yes, that is the most common setup. Just make sure the Plex container mounts /mnt/user/data as /data exactly like the arr containers. If Plex uses a different path mapping, it will not see the files Sonarr and Radarr place in your media folders.