This guide is now archived and not receiving updates Use the new all in one Arr's Project
Update | Date |
---|---|
New guide update for DSM7.2 and Container Manager | 29/04/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.
- Docker Package, SSD and Memory Recommendations
- 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 Container Manager 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 then click ‘Download’.
The pop-up box will ask which version you want to download, make sure you choose ‘Latest’ from the list of available versions.
You will automatically be taken to the ‘Image’ tab once the download has completed select the image and click ‘Run’.
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.
We won’t need to change any other settings on this screen. We are now going to work through the remain settings. Click on Next.
Port Settings
We won’t be changing any of the ports the container uses. You can repeat the one shown on the right side of the settings page which is the internal Container Port onto the left side which is the Local Port which is the one you will access in your browser. Now move to the next section.
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 notice the section next to each folder is blank, we need to add a ‘Mount Path’ which maps the folders to a folder within the container. Use the ones shown below.
File/Folder | Mount path |
---|---|
/docker/sonarr | /config |
/data | /data |
We can now move to the next section.
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.
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 |
Capabilities
Nothing to change here leave at the default selection.
Network
In the Network section choose the ‘synobridge’ from the drop-down menu that we created earlier.
Execution Command / Links
Leave both of these section with their default settings.
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.
Docker Compose
You can use the below code saved as sonarr.yml in the ‘/docker’ share, this will do the entire process above in one quick command via SSH. Ensure you change the variables to your own.
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
ports:
- 8989:8989
network_mode: synobridge
restart: unless-stopped
sudo docker-compose -f /volume1/docker/sonarr.yml up -d
Historic Updates | Date |
---|---|
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.
In Sonarr, I keep getting the unable to connect to bittorrent error. I have tried “localhost”, 172.20.0.1, and the local LAN IP address of my synology NAS. and none of them have worked. I have tried changing the Port that qbittorrent listens on also, and changing that in the sonarr settings.
Any other suggestions
Try doing a full reboot of the NAS. I have seen this so many times over the last few days, it seems to come in waves.
No mention of creating synobridge in this guide or prereq guides
Hey, it’s in the first section.
Thanks for your guides, they’ve been great.
I am having a strange issue. I have installed Qbittorrent and both Radarr and Sonarr, both settings are identical (and I mean everything, except for the media folder – one is “TV” and the other is “Movies”).
The torrent download folder is the same for both.
Radarr works perfectly, I can request a movie, Qbittorrent grabs it, and the file is copied from the download folder to the “Movies” folder.
However Sonarr will not copy the the downloaded show to the target “TV” directory, I get the permissions issue “Ensure the path exists and the user running Sonarr has the correct permissions to access this file/folder”.
The PUID/PGID are the same for both (user = docker as per your guide).
I have logged in via ssh to both containers and executed “ls -n” against the download folder and it shows the same PUID/PGID that I set the container up with.
I have tried deleting and re-running the Sonarr container, being very careful to use the same settings as Radarr, but still the same issue.
Do you have any suggestions for something else I might be able to check?
Thanks in advance.
Hey, so first point of call would be to make sure /data is mapped to /data for both so Sonarr can reach across into the finished torrents.
If that’s all correct you can run this via SSH – Ensure you have the ‘dockerlimited’ user in place and this assumes the folders are on volume1 (if not don’t run it)
sudo chown -R dockerlimited:users /volume1/data
then
sudo chmod -R a=,a+rX,u+w,g+w /volume1/data
Thanks mate – Yes I had tried all those steps previously after some googling.
But I got it working!
So for my Radarr setup (which was working), I had to set up a Remote Path Mapping on the Download Clients page (even though you said it wouldn’t be required when all services are on the same machine).
I did the same for Sonarr – But it only worked once I removed the remote path and then re-added it.
I have no idea why this works but I am not questioning it 🙂
Thanks for your quick responses on these pages.
100% remote path mapping should not be required on a local setup. Keep playing around as they should be able to happily access everything within /data
Cheers Doc – I’ll have another crack this weekend
Hi,
I’m suddenly getting errors downloading nearly everything after its been working for months.
The error I’m getting is “has a runtime of 0, is it a valid video file?” I haven’t changed any settings as far as I know. I did it originally with Docker but when I started getting the error, I followed this to reinstall it as container manager. I didn’t delete any of my config files though so it just picked it all back up.
Any ideas please? Maybe I should delete the Sonarr folder under docker and start truly fresh.
Thanks
Have you tried checking if this is a common error before doing anything drastic
Indeed I have. its popped up but not seen any fixes. I followed your guide originally and it worked perfectly. Was kind of hoping it was the change to Container Manager from Docker but I guess there would be more people complaining about it. Oh well, i’ll continue investigating. Also, thank you for the all guides, really appreciate the hard work you do here.
Thanks
I could see this issue dating back years from a brief search, the files downloaded do they actually play they are not corrupted at all?
Can you try setting the container up with v4 of Sonarr you do this by using the develop version when downloading the image – I am on V4 and has been stable for months at this point.
Are you using hotio/sonarr for v4?
Hey no just the linuxserver version
image: lscr.io/linuxserver/sonarr:develop
or
image: linuxserver/sonarr:develop
First, Thank you for assembling this fantastic guide. Im going through and migrating my existing Sonarr host onto Docker. I could follow all the steps and open Sonarr running on docker in the web GUI. However, where do I need to adjust my permissions to access an existing folder on the same NAS so I don’t need to transfer or rebuild my library?
Thank you
It will be very similar – make sure the dockerlimited user we created has read/write access to the additional folder via Control Panel > Shared Folders
Then for the actual container add it as an additional mount point, making sure you match the path of the folder to the internal path of the container. For example /bkFredrics/extratvshows to /bkFredrics/extratvshows
This will mean there is no confusion for the container