Skip to content

Setting up SABnzbd in Docker on a Synology NAS

Added Docker Compose details
Added new folder mappings to ensure atomic moves and Hard-linking

This is the first part of a series showing you how to setup Usenet Automation using Docker on a Synology NAS.

Setting up a Docker User and Obtaining the PGID and PUID

In previous versions of this guide we used your default admin account for each container, this is not very secure so please now follow the separate setup guide and then head back here

Downloading the Container

In the majority of my guides I use the containers made by Linux|Server, these have very good documentation and are very well maintained so should any issues arise there is a group of people to ask, plus these work really well on Synology.

Open up Docker within DSM and navigate to the ‘Registry’ section and search for sabnzbd in the search box. Right click and download the Linux|Server version.

When it asks which version number you want to use just choose latest

Setting up SABnzbd 

Head into the Image tab of the left of the window, select the Sabnzbd image and  click on ‘Launch’ in the section at the top of the window.

The initial screen you are greeted with allows you to change the container name and resource restrictions, In this case I am leaving this all at its default.

Click on Advanced Settings, on the first screen you see enable auto restart as this will mean SABNZBD will automatically start up if you ever reboot your NAS.

Volumes / Mounts

We are now going to set up the shares we want to mount. SABNzbd only needs access to two folders.

Under the ‘Docker’ share on your Diskstation create a folder called ‘sabnzbd’ this is important as your configuration files will be stored here.

You will notice there is a consistent mount path for each of the folders across all my guides this is important as Docker will see all of your individual folders as one consistent filesystem rather than separate volumes. This will mean you should see much faster file moves (aka Atomic Moves) and also if you are using torrents it means you can enable hard-links

Port Settings

The port settings are extremely important, do not leave them to Auto as you will have to look up the port number every single time the container is restarted and it will screw with all your other containers as they will not be able to talk to each other.

Local Port = 8080
Container Port = 8080 (SAB’s Non SSL Port)

Local Port = 9090
Container Port = 9090 (SAB’s SSL Port)

Press Next..

Environment Variables (PGID, PUID and Timezone)

Next we are going to setup a couple of Environment variables this is the user details we took note of earlier in the guide, this allows the Docker image to have the right access to the shares we just added. In addition we are also required to set the timezone for the container you can find a list of zones on wikipedia

In the environment tab enter the details as shown in the screenshot, but change them to whatever yours were noted as.

PGID, PUID and TimeZone

Click OK and this will take you back to the summary screen we saw earlier.

Almost done

Now the container has started head to you NAS IP address and port you provided earlier in the guide, in this case 8080. You will need to start the config of SAB.

After entering your service providers details you must change the completed and temporary download folders the following.

If you skip this step your downloads will end up being stored within the container rather than your downloads directory we mounted to /media/downloads.

Docker Compose

You can use the below code saved as sabnzbd.yml to do the entire process above in one quick command via SSH. Ensuring you change the variables to your own media paths.

version: "3.2"
    image: linuxserver/sabnzbd:latest
    container_name: sabnzbd
      - TZ=Europe/London
      - /volume1/docker/sabnzbd:/config
      - /volume1/downloads:/media/downloads
      - 8080:8080/tcp
      - 9090:9090/tcp
    restart: unless-stopped
sudo docker-compose -f /volume1/docker/sabnzbd.yml up -d --remove-orphans
Published inDockerSynology


  1. HHawk HHawk

    Thank you for this tutorial. Very appreciated. Upgraded my XPEnology last weekend and redid the whole setup for everything (time consuming). Before, on the old NAS, I used software packages to install Sabnzbd, Sonarr, Radarr, etc. I always had some kind of permission warnings.

    Now with the new XPEnology NAS I also started to use Docker GUI in Synology to set things up. Working very good and easy so far (after a few mistakes).

    The only downside when running SABnzbd in Docker GUI is that you are forced to use port 8080. You cannot change it to something else. It always resets to 8080. This doesn’t happen with Sonarr or Radarr. With those applications you can change the port to something else and it sticks.

    I am guessing it’s because the way SABnzbd is started from the package: 2021-02-22 13:52:39,987::INFO::[SABnzbd:1162] Arguments = “/app/sabnzbd/” “–config-file” “/config” “–server” “”

    Is there a workaround for this by any chance? I don’t like using default ports to be honest.

    Thanks in advance.


    • Dr_Frankenstein Dr_Frankenstein

      Hey, looks like you comment was stuck in the Spam filter!

      You should be able to map any port you want via the docker interface (see the screenshot above), it’s been quite a long time since I used SAB (about 4 years now!) so just to be 100% I re-downloaded it to test it out

      I setup all the basics and used port 8000 > 8080 and 9000 > 9090 they seemed to stick just fine including in between restarts of the container.

  2. JayFlow JayFlow

    I managed to launch sabnzbd but only with the non SSL port. When I try to launch him using the SSL port, it just won’t start. Is it less secure to access nzb only via the SSL port ? Does sabnzbd use the SSL port (563) when it’s downloading even if I lauch it with the non SSL port ? The connection parameters in sabnzbd for my news host are correct and use the 563 SSL port.

    • Dr_Frankenstein Dr_Frankenstein

      This is purely the port for the front end Web interface, nothing to do with the actual connection to your provider. So if you are just accessing SAB from within your home network the non SSL port is fine.

      • JayFlow JayFlow

        Thank you.
        Everything worklike a charm.

  3. For some reason I’m unable to start the program in my browser. I tried both ports but it does not work. Strange because the steps are similar to the Sonarr guide but I was able to get that to work.

    Double check you did everything the same way as it’s easy to make a small error when you are doing these for the first time.

  4. Thomas Jespersen Thomas Jespersen

    Has anybody experimented with btrfs vs ext4 filesystem? I have a DS218+ and occasionally sabnzbd slows down to a halt while processing large files (like huge movie downloads).

    I have noticed that when I initially setup my DS218 I had selected btrfs. I can now understand from searching with google that many people have problems with the combination btrfs/sabnzbd.

    I understand btrfs has certain advantages but performance is one on ext4’s advantages. And the DS218+ is not powerful in performance anyway.

  5. Nick Nick

    I recently switched to the new Google Nest Wifi mesh router which has somehow screwed up my Synology / Docker / Sabnzbd setup.  One additional complication too is that I’m using the Synology DDNS service “”.  My Sabnzbd, Radarr and Sonarr docker containers all seem to be running and are accessible on my local network using on the local ports I specified in the container settings, but aren’t accessible outside my local network.  Also the apps can’t seem to connect with one another – Radarr and Sonarr aren’t able to connect to or pass nzb’s to Sabnzbd.  
    Is there a simple setting I’ve missed somewhere on the Synology / DDNS side?  Or is it a port forwarding / opening issue?  Opening those local ports doesn’t resolve the issue.  I had all of this set up on my old router but of course have forgotten what I did.

    • Dr_Frankenstein Dr_Frankenstein

      Hey spotted your post on reddit aswell, this is most likely a port forwarding issue as the router is the only thing that changed in your setup. We’re you using the DDNS address for you local connections. As you can just use the IP address and port of you NAS for the local stuff.

  6. Joe Mudra Joe Mudra

    I followed the guide and got the following when trying to open a webpage to sabnzb

    Access denied – Hostname verification failed:

    • Joe Mudra Joe Mudra

      Figured out if I use the IP it works fine. However, I’m using NZBplanet as my Usenet provider, and I cannot seem to connect to it. Keep getting “[Errno 99] Address not available Check internet or DNS problems. I’m going back through the setup of the container now to make sure I didn’t mess something up in there.

  7. frog frog

    The folder “Downloads” in docker / SABnzbd / Downloads “is built by the container” Linuxserver-sabnzbd “, not by me …

    I built:
    “SABnzbd” in docker
    “SABnzbd / complete and temp” in downloads

      • frog frog

        In this photo, the files are built by the container.
        It’s not me who puts a “D”.
        The folder “docker / SABnzbd” is empty before launching the container.
        all the files of “docker / SABnzbd / config” are built by the container ….

        • Dr_Frankenstein Dr_Frankenstein

          I am out at the moment and didn’t bring my laptop, I am pretty sure you can just type over the folders shown in the screenshot. When I get home later I will setup SAB and see what it does.

          • frog frog

            Hi, still this problem.
            It puts all the files in the same, File / Folder: “docker / SABnzbd” // Mount path: “/ config”
            Still, I did as you told me, changing the “Downloads” to “downloads”
            If you have an idea

  8. frog frog

    I am perfectly the post.
    I create volumes for the download in “volume1 / downloads / sabnzbd” and another for the config “volume1 / docker / sabnzbd”.
    Still, he creates me a download folder in “volume1 / docker / sabnzbd / downloads”
    Do you have a solution?

    • Dr_Frankenstein Dr_Frankenstein

      Double check you folder maps as it sounds like you missed something.

        • Dr_Frankenstein Dr_Frankenstein

          OK I think it’s because you are using a captital D in the downloads info you entered into SAB as linux has a case sensitive filesystem so Downloads is different to downloads. See if that does it.

          • frog frog

            The folder “Downloads” in docker / SABnzbd / Downloads “is built by the container” Linuxserver-sabnzbd “, not by me …

            I built:
            “SABnzbd” in docker
            “SABnzbd / complete and temp” in downloads

  9. jj lolo jj lolo

    Thanks for the guide. How would I make sabnzb use a VPN (PIA)

    – Is the VPN simply another container?
    – Can I route the traffic from one container to another
    – Can I ping to make sure the VPN hasn’t dropped to kill the VPN container and restart (kill switch)

    • Dr_Frankenstein Dr_Frankenstein

      You could just setup your whole NAS to connect to a VPN in the network settings. To be honest if you are connecting to SSL it’s not really worth it as your connection is encrypted. Unless you are looking to hide that you are using Usenet from your ISP.

      You may want to look at how people have done this for torrenting as then it’s a much more popular setup

  10. Mark Mark

    My first container. I have a static IP address for my Synology DS918+, and I know that SAB is setup correctly because the config files/folders have been written into docker/sabnzbd. I cannot connect through a web interface (Firefox) using NAS IP:8080. Not sure what is happening here. Here’s a screenshot of my docker settings:!As-r-zzqPTNjg14nS6AzAy7f-2zY

    Any suggestions?

  11. Neil Neil

    Silly question, but given that all your containers are running and you imply that you cannot navigate to any of them.

    Maybe it’s the ip address of the server, you are trying to get to, that is the problem.

    To start with, make the container run with the highest permissions, that way you avoid a potential permissions problem.

    Then once you have it running, you can tighten up the permission.

    • Dr_Frankenstein Dr_Frankenstein

      Increasing the permissions won’t make any difference as long as the PGID and PUID belong to someone with permission to the shares you give SAB access to that’s the only access it needs. You can always tell you have it setup correctly by seeing the container write the configuration files and folders into the /docker/whateveryounamedthefolder.

  12. ntotheizzick ntotheizzick

    Everything seems to be working but can’t navigate to sab using the container ports specified (8080 and 9090) only the internal ports. What am I doing wrong?

    Also, should I have set my synology up with a static ip before doing this?

    • Dr_Frankenstein Dr_Frankenstein

      A static ip would be a good idea but it’s unlikely to change, did you specify different ports during the setup of the container rather than the defaults?

      • ntotheizzick ntotheizzick

        Yes, I specified ports using your examples. I tried changing them a few times, but no effect. I can connect using the local ports but not the container ports. I’ve also set up radarr and sonarr and have the same issue.

    • Neil Neil

      So is your first application you have running in a docker container on a Synology?

      If you can take a screen grab of you settings for this docker container, that would be useful.

      • ntotheizzick ntotheizzick

        Yes, this is my first docker container but I’ve also subsequently set up radarr and sonarr and I’m having the same issue.


        • Dr_Frankenstein Dr_Frankenstein

          So that’s correct, you should be able to connect to the Local ports as they forward internally to the containers ports, 32701 you would have to make sure you use https://ipaddress:32701 or just plain http for 32700

          Looking at your screenshot you seem to has skipped entering the PGID, PUID for the container, so has SAB been able to write its files to the /config ?

  13. I too was having the annoying issue of not being able to save outside of the containers /config folder. I looked at a coworkers docker setup for his crashplan setup and he didn’t have PGID or PUID setup and was able to map to /volume1 perfectly. Once I removed the PGID/PUID I was able to map the folders perfectly. Running the latest DSM as of 2018_03_02

    My folders are added as follows:

    Once SAB was launched, I was able to change my DL folders to /complete and /incomplete

    Since I use sonarr/radarr/sab/plex all in docker, my ports start in the 42000 and increment up 100 ports from there. (example not my real setup but Plex is 42100, SAB 42200, SONAR 42300,RADARR 42400) I left the containers default ports alone. So SAB still has a container port of 8080, PLEX has 32400, etc…

    The only environment variable I changed was TZ. Everything works exactly as I want it to now.

    I hope this helps someone in the future

  14. Spacekiek Spacekiek


    Finally figured out why I couldn’t select a SHARE with ‘complete’ and ‘incomplete’ folders in it ! Altough the guide sets everything up & running … when you launch sabnzbd, the standard folders in sabnzbd point out to : “Downloads\incomplete” and “Downloads \incomplete … ”

    This resulted in downloads ending up in the docker\sabnzbd … folders.

    When I set the folders equal to the mounted folders : \downloads and \incomplete-downloads in SABNZBD (config > folders) everything goes fine now! 🙂

  15. Spacekiek Spacekiek


    I’m stuck on the ‘volumes’ piece of this tutorial …
    Did everything what was described, and would like to mount a shared folder outside the docker.

    But in the setup of SABNZBD, the base folder is /config and can’t change it.
    Browsing to /volume1 folders isn’t possible

    All downloads end up in docker/sabnzbd/Downloads/complete

  16. Neil Neil

    Great guide.

    One small question …. you mention below, that ports 32768 – 61000. I am sure there is a reason for not mapping 8080 to 8080 and 9090 to 9090. What would it be?

    “Change the local ports to something you will remember as long as its between 32768 – 61000, for this tutorial I am using the ports below.”

  17. Richard Richard

    Trying to set up SABnzbd 2.3 with Docker on Synology DS918+.

    The problem comes with the download folders. Docker is adding these into the /docker/[container]/ folder, and there is no way to set the target download folders outside of /docker/sabnzbd/.

    Apart from this the tutorial worked well – thanks!

    • ZAch ZAch

      Running into the same problem. Any thoughts?

  18. TS TS

    Dear Frankenstein, thanks for this instruction, although SABnzb is running, i don’t get the mapping right. I struggle with the folder vs mount pad. I have selected the the folder where I want to receive my downloads, but it installs in the docker sabnzb location. What is the exact difference between folder and mount, and how to I find out what the mount path is?

  19. Glenn Glenn

    Don’t know if this is the best place ot post.. dont know where in reddit to post, but when i use SABnzDB on my 1815+ 2GB Synology, i keep getting Volume Utilization of 100% every now and then.
    Everything churns to a stop, cant copy files, plex stops working..
    I close SAB on docker and it all drops down within moments to normal levels.
    Running 5 x 6TB RED WD drives in SHR…

  20. NightShaman NightShaman

    I am moving over to Docker for all my media apps. I usually use categories in sabnzbd in the downloads folder so my other apps know where to pick them up from, and move them to the correct folder. When I use volumes to pick my download folder I do not see the sub folders for my categories in it. are you not able to use categories in a container?

  21. James James

    I had to use a different version of sab. The current iteration uses /datadir instead of /config and it does not let you change the complete and incomplete folders to a level up folder. It had all sort of read write issues.

    • Dr_Frankenstein Dr_Frankenstein

      I will revisit the guide this week as I am on Holiday so will have lots on my own time 🙂

    • Dr_Frankenstein Dr_Frankenstein

      Hey, was this definately the Linux|Server build as their guidance doesn’t suggest there has been a change.

  22. Scott Scott

    As per the last comment, I’m also not sure how to update sab – sonarr/couchpotato appear to update themselves within the container, but sabnzbd does not.

    • Scott Scott

      I finally got around to updating from 1.2.0 to 2.3.1 (and to be honest it was only because scheduling wasn’t working properly, everything else was fine, I would have left it otherwise).

      All I did was

      – stop the existing docker container, renamed it, turned off auto start, and changed the ports it used, took note of all the settings, paths, environment etc
      – downloaded the new container and set it up as per instructions on this page

      the updated container just picked up my sab settings and existing queue (took a few minutes to load the UI after starting the container).

      I’m assuming this is how you’re probably supposed to update sonarr/radarr etc as opposed to just letting them update internally via the UI (docker dependencies?) but I’ve had no issues doing it that way so far.

  23. Harry Harry

    Excellent guide, it’s running perfectly on my Synology now. Can you also explain how to upgrade sabnzbd when running it in a docker container? The version inside my docker is still 1.1.1 while version 1.2.3 is the latest version. Thanks!

    • Dr_Frankenstein Dr_Frankenstein

      I wrote a long reply on my mobile but since I enabled the captcha’s on comments (to stop the massive amount of spam) the app doesn’t let me reply grrr. I will see if I can update the post on how to update.

      • Harry Harry

        That would be great, looking forward to it.

      • Paul Incley Paul Incley

        Hi! This was such a helpful guide, thank you! Would also love to hear how to update SABnzbd.

      • Joris Joris

        Hey man, any updates on this?
        I’d like to go from 2.0.0 to 2.1.0

        • Dr_Frankenstein Dr_Frankenstein

          If you have followed the guide all your SAB settings are in the config folder, this means you can just remove the whole docker image download the latest copy and just setup the docker image again. all your settings will then be carried across.

  24. Tom Tom

    I have Sonarr installed and working, emby installed and working, but cannot for the life of me get SABnzbd set up. I’ve run through the install process about a dozen times, trying everything I know of. Each time, the container shows SABnzbd running, on the ports I assigned, but when I try to open it in a browser window, I get “This site can’t be reached refused to connect.”

    I am an absolute Docker newbie, so any and all help sincerely appreciated.


    • Pat Pat

      Did you find a solution to this?

      It’s happening to all my docker images.

  25. Scott McNabb Scott McNabb


    I am a little confused on the “Volumes” section (the screenshot links to the ‘summary’ page, not volumes).

    I’m not sure what exactly to put for the Mount Path.
    I have File/Folder of “/downloads/sabnzbd” set to “/downloads”.
    I have File/Folder of “/docker/sabnzbd” set to “/sabnzbd”.

    (As per screenshot

    I’ve done a few test downloads and they seem to go to the right place, being my ‘downloads’ shared folder. But don’t know about the other one or if the config is being saved.. Help?

  26. Mikael Mikael


    Thanks a lot for the tutorial!

    Could you give some more information regarding the mapping of folders?


  27. Kurt Kurt

    Hey drfrankenstein,

    Great tutorial, manage dot get SABnzbd working.

    Just 1 question, I use the PostProcessing Script , but now I dont know which folder to select?
    Before the container application, it used to be /usr/local/sabnzdb/var/script
    But that doesnt exist anymore…

    Kind regards,

  28. Rossi Rossi

    Great guide! Really looking forward to your Sonarr & CP guides. I’m also trying to get NzbGet up and running but I fail to save the settings once the container restarts. I’d be interested to see if you have any insights into how to solve the issue?

    • Dr_Frankenstein Dr_Frankenstein

      Once I have finished the other two guides I will have a look and NZBget. The Sonarr one should be up tomorrow at worst.

    • Dr_Frankenstein Dr_Frankenstein

      The NZBget guide will be up later today

Leave a Reply

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