Skip to content

Sonarr in Docker on a Synology NAS

Please note if you are using DSM7.2 or higher you should use the Container Manager version of this guide from the menu.
UpdateDate
Removed docker compose section as rarely used18/07/2023
Historic updates now at the end of the guide.

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.

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.

VariableValue
PUIDThe UID you obtained in the user setup guide
PGIDThe GID you obtained in the user setup guide
TZYour 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/FolderMount 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.

AppRoot 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 HistoryDate
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 Compose16/12/2021
DSM7.1 Updated Screenshots and Steps03/06/2022
Added new port settings and Docker Bridge Network24/07/2022
Compose version number removed and small wording amendments08/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
Update History

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.

Published inDockerMedia Management 7.1Synology

94 Comments

  1. Quinn Quinn

    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?

    • Dr_Frankenstein Dr_Frankenstein

      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.

  2. 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?

    • Dr_Frankenstein Dr_Frankenstein

      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

        • Dr_Frankenstein Dr_Frankenstein

          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.

  3. candyman candyman

    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.

    • Dr_Frankenstein Dr_Frankenstein

      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.

  4. 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”

    • Dr_Frankenstein Dr_Frankenstein

      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)

    • Deepcore Deepcore

      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.

  5. Nick Nick

    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.

    • Dr_Frankenstein Dr_Frankenstein

      Thanks Nick, I will keep this on my notes for when I do the DSM7.1 rewrites

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

drfrankenstein.co.uk – writing Synology Docker Guides since 2016 – Join My Discord!