Update | Date |
---|---|
Added Docker Compose details Added new folder mappings to ensure atomic moves and Hard-linking | 03/05/2021 |
Guide re-written and updated with DSM7 screenshots | 01/08/2021 |
Updated wording in some sections and updated the Docker Compose | 16/12/2021 |
What is Sonarr?
Sonarr is used to search, download and organise your TV shows in conjunction with your preferred Usenet or Torrent downloaders and indexers.
Lets Begin
In this guide I will take you through the steps to get Sonarr up and running in Docker.
In order for you to successfully use this guide please complete the two preceding guides
Downloading the Sonarr Image
Open up Docker within DSM and navigate to the ‘Registry’ tab and search for ‘Sonarr’.
In the list of available containers select the one made by Linuxserver as shown below, right click on it and select ‘Download’ or click the button at the top of the window.

When the dialogue pops up asking you to choose a version, make sure you choose ‘Latest’ from the list.

You can check the status of the download over on the ‘Image’ tab.
Setting up the container
In Docker click on the ‘Image’ tab, in the list of your containers select the ‘Linuxserver Sonarr’ image and click on ‘Launch’
You will now see the initial setup screen, if you want to you can change the name of the container to something else.
You will also notice a Configure capabilities button — don’t change anything in here!

Next up we are going to click on the ‘Advanced Settings’ button, this will take you to a new window with a number of tabs which we are going to work through.
On the first tab enable ‘Auto Restart’ this will ensure Sonarr will automatically start up whenever you reboot your NAS.

Volumes / Mounts
We can now move onto the volume tab in which we will be specifying the directories where Sonarr will store its configuration files and where to find our media and downloads
Click on Add Folder, click on the docker folder and create a new sub-folder called ‘sonarr’ select this folder and click ‘select’
Now add ‘/config’ to the ‘Mount path’ box

Click Add Folder again and this time select the top level ‘data’ folder and click Select.
You will now enter ‘/data’ into the ‘Mount path’ box
Your path settings should now look like the table/screenshot below.
File/Folder | Mount path |
---|---|
docker/sonarr | /config |
data | /data |

Network
We are not going to be specifying specific ports for Sonarr to use as we want to keep things simple, tick the ‘Use the same network as Docker Host’

Links
You do not need to set up anything on this tab.
Environment Variables (PGID, PUID and Timezone)
Next we are going to set up a couple of environment variables that docker will use to allow the container access to our files and folders and also to tell it where we live in the world.
Click the Add button, and fill in the following details as per the table/screenshot, you will need to do one at a time.
variable | Value |
---|---|
PUID | The UID you obtained in the user setup guide |
PGID | The GID you obtained in the user setup guide |
TZ | Your timezone wikipedia.org/wiki/List_of_tz_database_time_zones |

Almost Done
You have now completed the setup of the container.
Click on Apply to move back to the initial settings screen and then click next, you will be shown an overall summary of the settings we have specified, this is a good time to double-check everything is correct. Finally, click on Done and the container should start to boot.

You should now be able to access Sonarr via the IP of your NAS followed by the port 8989
e.g 192.168.0.40:8989
Make sure you check out page 2 of this guide that covers some common basic settings.
Docker Compose
You can use the below code saved as sonarr.yml in the ‘/docker/sonarr’ share, this will do the entire process above in one quick command via SSH. Ensure you change the variables to your own.
version: "3.8"
services:
Sonarr:
image: linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=YOURPUID
- PGID=YOURPGID
- TZ=Europe/London
volumes:
- /volume1/docker/sonarr:/config
- /volume1/data:/data
network_mode: host
restart: unless-stopped
sudo docker-compose -f /volume1/docker/sonarr/sonarr.yml up -d
Throw me some bits or buy me a coffee?
If you have found my site useful please consider pinging me a tip as it helps cover the cost of running the site, you can even buy me a coffee 🙂
![]() | ![]() | ![]() |
Pages: 1 2
Thanks for this guide!!
I have a question on the path resolution if that’s ok?
If sonarr is using “/data”, how do we end up mapping to “/data/media/tv”, as opposed to just “/data/tv”. I can’t figure out how nzbget & sonnar resolve the “/media” directory. I used to have movies & tv top level (rather than within /media).
Thanks!!
Hey, we pass the whole of /data into Sonarr, this means it has access to everything under /data.
If you have your media stored in ‘/data/tv’ rather than ‘/data/media/tv’ when setting your ‘root path’ within Sonarr’s settings you use that directory instead.
Sonarr will just grab you completed downloads and move them there instead.
ooh root path, that’s the setting I’m missing 🙂 – I had mine set to “/tv” rather than the new structure of “/data/media/tv”!
Thank you so much!!
I am about 80% through a write up covering all the basic settings post the container set up. Hopefully it will help others get these last pieces of the puzzle in place.
That sounds great! I’ll look forward to that one 🙂
For the life of me, I can’t figure this out. Sonarr will not open with my ip:8989. I’ve followed these steps a dozen times, I’ve memorized them. It worked perfectly with nzbget and Radarr. The files are made in the Sonarr folder, the logs look like everything is “indexing” and running smooth, but 8989 does not open it up. No firewall. Any clue?
Figured it out. If it happens to anyone now: in Environment Variables, a line was added that said “SONARR_BRANCH” and main as it’s value. Not sure if it was important, but once I deleted the line it worked.
I came across this issue as well but removing “SONARR_BRANCH” env var didn’t help. I noticed the port setting for local port was set to auto so I changed it to 8989 which helped.
You need to either specify the port as you have or use the network tab and tick the box ‘use the same network as the host’
There’s a typo: “You should now be able to access Radarr via the IP of your NAS followed by the port 7878.” Should be 8989.
Thx for these guides!
Thanks fixed!
Hello, Followed your very useful guide but getting a problem in the steps that follow – in sonarr when I want to add the download client (download station) I’m having trouble with the setup as follows:
Add Download Client – Download Station
Name: Download Station
Enable: v
Host: My Synology IP
Port: 5000
Use SSL: BLANK
User: The dockerlimited one used in the guide? or regular user? I’ve tried both
Password: as above
Category: Get warning here when left blank saying “Shared folder does not exist”
Directory: BLANK
Client Priority: 1
Can’t get past here as unsure what happens with the Category field.
Also when doing setup and trying to import series to library I don’t seem to have the permission to add the directory.
I’m wondering if both are tied to the same issue.
Help much appreciated.
Hey, I have not used downloadstation (DS) before for this purpose, are you using it for torrents or usenet?
The dockerlimited user won’t have any access to the DS app as you would have revoked its permissions during setup of that user… you will need to go back into the dockerlimited user and enable it access to DS first… then see if sonarr etc allows you to add it… as long as DS is putting the files into the same locations as the way we setup other torrent or usenet clients it should work fine.
The second part it’s hard to tell what you are doing. Are you adding an existing directory as a ‘root folder’ in Sonarr?
If you jump on discord or reach out via the contact page I can help with screenshots..
Hi. love your guide , really helpful but when installing sonarr and radarr I get an error saying binding socket failed for 0.0.0.0. error 98 adress already in use.
I got a new synology nas, and docker and nzbget are the only things Ive installed yet.
Any advice?
Found the issue, while following the steps somehow I got a nzbget.config file in my folder. After disabeling that file I tested it and it worked fine. So i deleted this file.