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.
I have existing media that spans a few external drives and i would like sonarr to move newly downloaded files to those external drives. How can I get Sonarr to see and access those locations?
Is it as easy as setting up multiple mount paths to /data and then set up read/write privileges to dockerlimited to those paths?
Hey, yes completely possible. You can add the USB drives to the volumes section and mount them to individual folder e.g /usbshare1 mount it to /usbshare1 and repeat for each. They don’t have to be within the /data mount point as they are separate drives. Then in Radarr you will add each of them as a root folder in Media Management so Radarr can import what is on the drives.
I’ve got a Sonarr v2 installation running per your old guides, using Transmission, Jackett, Radarr v3, Prowlarr (for Radarr), and it’s all working nicely until I migrate to Sonarr v3, when everything goes to hell, and I start getting the Import failures, even if I’ve manually copied the files into the folder.
I’ve built a “virtual” DSM on VMware using the same version of DSM, etc, but clean, and the only difference is that my path on the new one is “/TV” vs “/TV Shows” on my physical Synology.
I’m not entirely keen on renaming the root folder of my TV Shows share, as I’ve got around 150 TV Series I’d have to edit in Sonarr, but for the life of me can’t work out what’s going on…. Any ideas?
Hey, does Sonarr throw any specific errors at all? If you were to rename the underlying share (although you shouldn’t need to) Sonarr v3 allows you to bulk edit the root paths on all your shows.
In v3, I get “Downloaded – Unable to Import: check logs for details”, irrespective of copying the files in manually, or with a downloader handling it.
In Debug I get zero logs relating to the show I’m trying to work on at the moment, in fact it’s trying to match it to a completely different series of shows altogether…
In Trace logging, I get something similar to:
{“downloadDir”:”/downloads/complete”,”downloadedEver”:11597734560,”errorString”:””,”eta”:-2,”fileCount”:0,”hashString”:”d71d6fc6d6dcb0a9e8fc7f6f8a9d719ef99a160c”,”id”:58,”isFinished”:false,”leftUntilDone”:0,”name”:”Marvels.Luke.Cage.S01.1080p.BluRay.x265-RARBG”,”secondsDownloading”:26985,”secondsSeeding”:525242,”seedIdleLimit”:30,”seedIdleMode”:0,”seedRatioLimit”:2,”seedRatioMode”:0,”status”:6,”totalSize”:11595987277,”uploadedEver”:22616481262},
however the files are already imported, it just won’t update the DB
and throws out this:
2022-06-21 20:37:36.6|Trace|Owin|SQLite error (5): database is locked in “PRAGMA cache_size=-10000”
2022-06-21 20:37:36.6|Trace|Owin|
2022-06-21 20:37:36.6|Trace|Owin|SQLite error (5): database is locked in “PRAGMA cache_size=-10000”
2022-06-21 20:37:36.6|Trace|Owin|
I’m loathe to migrate of v2, as it just works so well and reliably…. but this has my really stumped
It might be worth setting up v3 with a blank slate and fresh config folder and then importing the existing shows to it. You could stick the old version on a different port temporarily so you can match up your other settings. I suspect because of the length of time since v3 was launched its not a smooth upgrade if going over the top of existing settings. Reach out on Discord as will be easier to chat it through.
Hi there. Thanks for this awesome guide. I have one issue left and that is updating the synology media index. For some reason newly added episodes won’t be visible in uPnP until I re-index on the synology manually. I have tried setting up the synology indexer notifcation in sonarr, but that errors out (assuming because sonarr probably cannot connect to the synology indexer?). So am I the only one who has this issue, or is there somekind of fix for it? The workaround would be to schedule media indexing every night or so, but if I can get something better to work than that would be great.
I moved away from uPnP to Plex, as I found uPnP becoming increasingly unreliable over the years…
Hey, unfortunately this is a known issue with the indexer, I remember reading that it doesn’t always pickup the new files automatically. You will need to create the manual task. The Sonarr script doesn’t work as the Docker container has no access to the underlying system.
As Andrew mentioned below if you did move to Plex make sure you go the Docker route and not the one in the package center.
Followed the guide for Deluge and Sonarr, everything works fine up until the point of import. where it fails with the following message. Any suggestions as the dockerlimited account has access to these folders and can see them
“DownloadedEpisodesImportService|Import failed, path does not exist or is not accessible by Sonarr. Ensure the path exists and the user running Sonarr has the correct permissions to access this file/folder”
Hey is there a bit extra to the error where it includes the folder path? It usually means the mount point is incorrect in your container setup. Sonarr needs to be mounted as /data and /data meaning it will have access to all subfolders (double-check your PUID/PGID is the right way around)
Never Mind, managed to solve it. Looks like there was a previous install that was causing this issue. Deleted the config folder and it sorted itself. Thanks for this amazing guide.
Love these guides. So helpful. Can I just recommend modifying the network section to instruct people on what to do if they intend to run multiple sonarr dockers. If this is desired, the container port should be left at the default, but the local needs to be different from the container port and also unique from any other ports set on other containers. So all sonarr apps would be 8989 for container port, and each container local port would need to be unique, 8990, 8991, for example. Thanks again.
Thanks Nick, I will keep this on my notes for when I do the DSM7.1 rewrites