How to set up Prowlarr to grab your content

Configuring Prowlarr for Sonarr & Radarr

Containers Aug 29, 2021

The chances are a lot of us bought our NAS devices to, at least in part, run a media server on them. We all have our (legal) methods for obtaining our content, and a lot of us use Radarr, Sonarr and the other 'arr' apps to automate our collections. If you've gone through this, you'll know that nzb and torrent indexers (depending on which you use) need to be configured in each of the *arr apps. Well, this is where Prowlarr comes in.

Prowlarr has been developed to be a single point indexer manager. Set up the indexers in Prowlarr, and you can then connect your other *arrs to it, which will then automatically import the indexer settings directly into them. I'll go through it below.

note that while I focus on Radarr and Sonarr, the same process is true for Lidarr and Readarr

Preparing your system

Our file system of folders needs to be created first so that we know what we're pointing our container volumes to. (If you already have sonarr and radarr setup, or at least have a working directory for downloads and movies/tv, skip this step and head to the next one, Creating the Docker Network.)

I follow the Trash Guide for directory locations, which allows for hardlinks/atomic file movement (less work for your disk drives). Basically this means having all your media folders, including your download folder, in one Shared folder. You will likely want something that looks like this:

volume1	
 │  
 └── media
	 ├── torrents
	 │   ├── movies
	 │   ├── music
	 │   └── tv
	 ├── usenet
	 │   ├── movies
	 │   ├── music
	 │   └── tv
	 └── libraries
     	     ├── movies
     	     ├── music
     	     └── tv
we will give Sonarr and Radarr full access to the whole media folder, and our download client access only to the relevant torrents or usenet subfolder

So if you don't already, either using SMB or mkdir in SSH:

  • Create your root 'media' directory
  • Create your 'torrents' or 'usenet' directories (depending on what you use) and their sub-directories inside your 'media' directory
  • Create your 'libraries' directory and associated sub-directories

Creating the Docker Network

In our docker-compose file we are going to specify a network for the containers called arr, so let's go ahead and create that network:

  • SSH into your machine
  • type in the following:
docker network create arr
this will create a bridge network at the next available subnet, and give it the name 'arr'
you can specify your own custom subnet if you prefer, you can find out more in this article

Creating the Containers

We're going to use docker-compose for this.

  • Still in SSH, navigate to your docker or compose directory, and create a docker-compose.yml file:
touch docker-compose.yml
  • vim or nano into your docker-compose.yml file, and copy paste the below:
networks:
  arr:
  	external: true

services:
  prowlarr: #indexer manager for Sonarr & Radarr
    image: ghcr.io/linuxserver/prowlarr:develop
    container_name: prowlarr
    environment:
      - PUID=$PUID
      - PGID=$PGID
      - TZ=$TZ
    volumes:
      - $DOCKERDIR/prowlarr:/config
    ports:
      - 9696:9696
    restart: unless-stopped
    networks:
      - arr

  radarr: #movie search agent
    image: ghcr.io/linuxserver/radarr
    container_name: radarr
    environment:
      - PUID=$PUID
      - PGID=$PGID
      - TZ=$TZ
      - UMASK=022
    volumes:
      - $DOCKERDIR/Radarr:/config
      - $MEDIADIR:/media
    ports:
      - 7878:7878
    restart: unless-stopped
    networks:
      - arr

  sonarr: #TV show search agent
    image: ghcr.io/linuxserver/sonarr:latest
    container_name: sonarr
    environment:
      - PUID=$PUID
      - PGID=$PGID
      - TZ=$TZ
      - UMASK=022
    volumes:
      - $DOCKERDIR/SonarrV3:/config
      - $MEDIADIR:/media
    ports:
      - 8989:8989  
    restart: unless-stopped
    networks:
      - arr
a single stack, including network association, for our *arrs
I use a .env file to pass information to my docker-compose file, you can read up on that here, or you can replace the information beginning with $ with your explicit information
  • Still in SSH and in the directory you put your docker-compose.yml, type docker-compose up -d followed by enter key to run it. After it's finished doing what it does, and provided you set up the folder configuration correctly and the ports you specified were previously unused, you should now have your three containers accessible at the relevant http://localhost:[port] in your browser

Configuring Prowlarr

Pre-configuring Sonarr and Radarr

We'll first get some information from Sonarr and Radarr which will be needed to properly configure Prowlarr.

  • Access Sonarr by typing http://localhost:8989 into your browser address bar.
if localhost doesn't work, try using your NAS machine's IP address
  • Navigate to 'Settings' > 'General' and copy the API Key
  • Do exactly the same for Radarr (using port 7878), and make sure you remember which is which
I use 'docker-mods' to change the theme of my Sonarr and Radarr instances. If you want yours to look the same, paste the following into your 'environment' block in docker-compose.yml:
services:
	sonarr:
    	environment:
        	- DOCKER_MODS=gilbn/theme.park:sonarr 
            - TP_DOMAIN=gilbn.github.io 
            - TP_THEME=aquamarine
for sonarr, change to theme.park:radarr

Setting up Prowlarr

Now we access Prowlarr in the same way as Sonarr/Radarr by typing http://localhost:9696 into your browser address bar.

The first screen you see should look something like this:

the initial Prowlarr screen

For this next bit I'm going to assume you have access to certain indexers already - a full list of those compatible with Prowlarr can be found here, and if you don't have them then you'll need to confiure them before you start this next step:

Setting up an indexer

  • Click the Add New Indexer button
  • The list of available indexers will pop up, and you can refine your search using the bar at the top of the popup:
a list of refined nzb indexers
  • When you've selected your indexer, another popup will be displayed:
  • Change the name if you wish, make sure the box next to Enable is checked, and input your indexer API key
if you don't know your indexer's API key, log in to your indexer and search for instructions on finding it. It will normally be somewhere in your Profile or Security or Connections pages
  • If you want, clicking the 'settings' gear wheel will show advanced options. These aren't necessary for our purposes right now
  • Click the 'Test' button. If it returns a green symbol then you've successfully connected to your indexer. Hit 'Save'
  • Repeat for as many indexers as you have

Connecting Prowlarr to your other arrs

  • In the left hand navigation pane, click 'Settings' > 'Apps' and the big + button under 'Applications'
  • In the popup, select 'Sonarr', and in the next popup you'll see the following:
  • Change the name if you want, make sure the server ports are correct, and paste in the Sonarr ApiKey we got earlier on. Click 'Test', and if you get the green tick, hit 'Save'
  • Repeat the Application steps to add Radarr too
if you do not get a successful test, attempt using your NAS machine's IP in place of localhost
  • Now go back to either your Sonarr or Radarr screens, and navigate to 'Settings' > 'Indexers'. You should see the name of the indexer(s) you configured in Prowlarr populated. They are identifiable by the (Prowlarr) tag after the indexer name:

Congratulations! You've now configured Prowlarr with Radarr and Sonarr, and you know the process for doing the same with the other *arrs you may have.

As this isn't a full Sonarr/Radarr setup tutorial, there are other settings you still need to do before they will operate properly, such as configuring your Download Client (whatever it may be) and other optional settings such as profiles and quality. This article won't go into that, but as a word of caution:

It's possible to set your Download Client inside Prowlarr and use it exclusively as your search agent for all your *arrs. At some point it may be possible to add a download client to Prowlarr which then gets passed to the applications in the same way as the indexers do, but it's not a current feature. As of now it seems that search and download within Prowlarr isn't particularly well defined, so I would continue to do that within your individual Sonarr/Radarr etc. apps.


Related Article

Portainer - Easy Container Management for Docker
A step-by-step docker walkthrough to installing and configuring Portainer, your one-stop container-management resource

PTS

PTS fell down the selfhosted rabbit hole after buying his first NAS in October 2020, only intending to use it as a Plex server. Find him on the Synology discord channel https://discord.gg/vgSq5pcT

Have some feedback or something to add? Comments are welcome!

Please note comments should be respectful, and may be moderated