Please note if you are using DSM7.2 or higher you should use the Container Manager version of this guide from the menu.
This guide has reached the end of its updates as most people are now on the latest DSM update - This guide is correct as of 08/12/2023 however no further updates will be added.
Update | Date |
---|---|
Removed docker compose section as rarely used | 18/07/2023 |
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.
Let’s Begin
In this guide I will take you through the steps to get Sonarr up and running in Docker.
As usual, it’s important you complete the three preceding guides which will get your folder structure and docker, user and bridge network setup.
- Step 0.5 : Docker, Memory Recommendations and Limitations
- Step 1: Directory Setup Guide
- Step 2: Setting up a restricted Docker user
- Step 3: Setting up a Docker Bridge Network
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 be greeted with the Network screen, we will be using the ‘synobridge’ network we created earlier select it from the list and click Next.
General Settings
Next you will be greeted with the General Settings screen, this is where you can start specifying some of your preferences.
You can change the name of the container to anything you like, and you may want to enable Auto Restart as this will ensure Sonarr starts automatically if you reboot your NAS.
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.
Environment (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 |
Links / Execution Command
You do not need to set up anything on these tabs.
Press ‘Save’ to go back to the initial setup screen, then press ‘Next’
Port Settings
We won’t be changing any of the ports the container uses. You can repeat the ones shown on the right side of the settings page ‘Container Port’ onto the left side ‘Local Port’ once you have done this press ‘Next’.
Volume Settings
We will now be specifying the directories where Sonarr will store its configuration files and where to find our media and downloads.
Click on ‘Add Folder’ select the ‘docker’ folder and create a new sub-folder called ‘sonarr’ select this folder and click ‘select’
Repeat this process to add the /data folder.
You will now add the below settings into the ‘Mount path’ section
File/Folder | Mount path |
---|---|
docker/sonarr | /config |
data | /data |
Click Next to move to the final screen.
Summary
You have now completed the setup of the container.
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
Key Settings and FAQ
Now you have set up Sonarr there are some key settings you will need to set as these often catch new users out. I will add more as they come up.
Media Management / Root Folders (Settings>Media Management)
Sonarr refers to the place(s) you keep your TV shows as Root Folders. These are where Sonarr will ultimately move your series episodes to once they finish downloading.
App | Root Folder |
---|---|
Sonarr | /data/media/tv |
Download Clients (Settings > Download Clients>Remote Path Mappings)
While most of the settings on this page are self-explanatory something that has caught people out if the Remote Path Mappings setting. If you are hosting all your services on the same NAS do not add any settings here.
I can’t get Sonarr to Connect to my Download Client!
When setting up your preferred download client or Prowlarr etc. Usually you will use the IP of your NAS, however if for whatever reason this is not working you can use http://172.20.0.1 which is the IP of the ‘synobridge’ gateway.
Update History | 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 |
DSM7.1 Updated Screenshots and Steps | 03/06/2022 |
Added new port settings and Docker Bridge Network | 24/07/2022 |
Compose version number removed and small wording amendments | 08/04/2023 |
Amended the path to save the compose file – this is for security, so the container has no access to the file contents. | 14/04/2023 |
Looking for some help, join our Discord community
If you are struggling with any steps in the guides or looking to branch out into other containers join our Discord community!
Buy me a beverage!
If you have found my site useful please consider pinging me a tip as it helps cover the cost of running things or just lets me stay hydrated. Plus 10% goes to the devs of the apps I do guides for every year.
Just a note for anyone trying to follow this on Container Manager instead of Docker. Now the place where you select ‘synobridge’ is a little bit later in the process, under the port numbers etc.
Hey check the left menu for all the updated guides
Sorry – this question is actually for Setting up a Docker Bridge (no comment section in that write up and was trying to get everything set up first as suggested).
It looks like Docker was replaced with Container Manager. For the most part it looks the same. I ran into a problem with leaving the IP Range blank per the instructions. It won’t let me leave it blank. Any advice?
Hey, check the side menu for all the updated versions of the guides as you are in the old one 🙂
Thanks for the guide.
How do I setup remote mapping in my case?
mport failed, path does not exist or is not accessible by Sonarr: /volume2/Downloads/completed/xyshow. Ensure the path exists and the user running Sonarr has the correct permissions to access this file/folder
https://imgur.com/a/qTpvfCa
https://imgur.com/a/oEgLqat
Don’t confuse yourself and the containers 🙂 . keep your mount points consistent as it helps you visualize where the files actually live, also if you have capital letters keep them consistent as well.
If you are sticking with your current folder structure it should be the below and the same for Radarr (except for the config folder)
/docker/sonarr = /config
/Media = /Media
/Downloads = /Downloads
If Sonarr is saying ‘/volume2’ in its errors have you set up Remote Maps? If so delete them as they are not required in this setup.
What maps do you have on your download client as you likely need to amend those as well.
Thanks for the fast reply. I setup as you wrote + set remote mapping:
/volume2/Downloads -> /Downloads
root folder in Media Management:
/Media/TV Shows
Now, I don’t get error, but it files are not hardlinked either, just copied to my Media folder. In Download Station I have Default destination folder: Downloads/completed.
Ahh, so you are using Downloadstation the remote mapping then makes sense.
You will not be able to hardlink with your folder layout as you have 2 independent shares being mounted to the Docker container. Also with Downloadstation in the mix it complicates things as far as Radarr / Sonarr are concerned if the downloads are remote it won’t Hardlink
You will need to move to a folder structure like the guides and use a different torrent client, I recommend qbittorrent.
You are right, thank you very much.
Thanks for the great guides, you make it very simple to follow along, even for a person with limited background.
Issue that I have that i didn’t see in your comments, when trying to download the sonarr/radarr container, im getting a “Failed to query registry” any thoughts?
I’m gonna go scroll reddit but figured to ask here as well
nevermind, reddit pointed me to mess around with the network settings. now i get to move on to the rest of the guide
Glad you sorted it – usually relates to a DNS issue – I have found that specifically giving my NAS quad9 9.9.9.9 and Cloudflare 1.1.1.1 as DNS providers it avoids issues. (works around my AdGuard internal DNS)
Great guide, got Sonarr/Prowlarr up and running.Have a question about hardlink.
At the moment qBittorrent saves in “completed” folder and Sonarr is set to move it to media/tv. Hardlink option in Sonarr is ticked.
However, when I check in Synology it seems the files takes up space in both “Completed” and “Media” folder?
Is there a way to confirm if hardlinking is working?
Hey, I have replied via email however for completeness. The files will be hardlinked – DSM and any other Linux system will show the space is used in both folders however it is only taking up the space of a single file. You can check the number of hardlinks by navigating via SSH. cd /volume1/data/torrents/completed/moviexyz then typing ls -il which will give info of the file.
The first number that shows in the info is the inode – this will match the same file in the media folder then after the permission section (-rw-rw-r–)you will see the number 2 which shows the number of hardlinks.
Thanks for the informative reply.
I managed to confirm that hardlink is working as intended.