Skip to content

Setting up SABnzbd in Docker on a Synology NAS

UpdateDate
Added Docker Compose details
Added new folder mappings to ensure atomic moves and Hard-linking
03/05/2021

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 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

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"
services:
  linuxserver-sabnzbd:
    image: linuxserver/sabnzbd:latest
    container_name: sabnzbd
    environment:
      - PUID=YOURPUID
      - PGID=YOURPGID
      - TZ=Europe/London
    volumes:
      - /volume1/docker/sabnzbd:/config
      - /volume1/downloads:/media/downloads
    ports:
      - 8080:8080/tcp
      - 9090:9090/tcp
    restart: unless-stopped
sudo docker-compose -f /volume1/docker/sabnzbd.yml up -d --remove-orphans

Throw me some bits

If you have found my site useful please consider pinging me a tip as it helps cover the cost of running the site, it could even buy me a beer 🙂

  • Bitcoin
  • Ethereum
  • Tether
  • Xrp
  • Polkadot
  • Binance coin
  • Litecoin
  • Bitcoin cash
  • Dogecoin
  • Tron
  • Monero
  • Omisego
Scan to Donate Bitcoin to bc1qfznx5kxad9k9z5t9y79mkm9ukfexan9a6wrzl0

Donate Bitcoin to this address

Scan the QR code or copy the address below into your wallet to send some Bitcoin

Scan to Donate Ethereum to 0x162fc7781D3C6c6f27197A3A92567b5DAF258f19

Donate Ethereum to this address

Scan the QR code or copy the address below into your wallet to send some Ethereum

Scan to Donate Tether to 0x162fc7781D3C6c6f27197A3A92567b5DAF258f19

Donate Tether to this address

Scan the QR code or copy the address below into your wallet to send some Tether

Scan to Donate Xrp to rKGpNHetksTn4dgwgpiTkg8JM4uJ3J6pam

Donate Xrp to this address

Scan the QR code or copy the address below into your wallet to send some Xrp

Scan to Donate Polkadot to 153iRH61nXQZUXMveZxCmYyzjf1cWYVnxpHpfifoNchQuXbY

Donate Polkadot to this address

Scan the QR code or copy the address below into your wallet to send some Polkadot

Scan to Donate Binance coin to bnb14ye5rju74u5ythneaum2rjvp8eqep6wq8flghx

Donate Binance coin to this address

Scan the QR code or copy the address below into your wallet to send some Binance coin

Scan to Donate Litecoin to LfNfer3aSqLx4p8KfbbkT96ArXLXLDPxoD

Donate Litecoin to this address

Scan the QR code or copy the address below into your wallet to send some Litecoin

Scan to Donate Bitcoin cash to qrc7scd2drzsd7kywpsjfklvkmm26fqc2vd7uyvdx9

Donate Bitcoin cash to this address

Scan the QR code or copy the address below into your wallet to send some Bitcoin cash

Scan to Donate Dogecoin to DCwbNzfYHx22MDSyEVLWgfjxziYHtcgwAM

Donate Dogecoin to this address

Scan the QR code or copy the address below into your wallet to send some Dogecoin

Scan to Donate Tron to TL1Q3vY9mHnDMedHRyU8ERUAY8SzJ4FXiV

Donate Tron to this address

Scan the QR code or copy the address below into your wallet to send some Tron

Scan to Donate Monero to 45qwFr42XiA8egC5z2HdSQ2FzzP9VR1MvD5Sicg4EhGvdvTutx9GsF6DeU8DHAsTZy2ShBERjCB5rdy8iQ9CFnFu9Z6Adgw

Donate Monero to this address

Scan the QR code or copy the address below into your wallet to send some Monero

Scan to Donate Omisego to 0x162fc7781D3C6c6f27197A3A92567b5DAF258f19

Donate Omisego to this address

Scan the QR code or copy the address below into your wallet to send some Omisego

Published inDockerSynology

60 Comments

  1. 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.

  2. 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 “xxxxxx.synology.me”.  My Sabnzbd, Radarr and Sonarr docker containers all seem to be running and are accessible on my local network using xxxxx.synology.me 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.

  3. 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: https://sabnzbd.org/hostname-check

    • 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.

  4. 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”
            https://images2.imgbox.com/75/f0/cjOiwKsf_o.png
            If you have an idea

  5. frog frog

    Hello,
    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

Leave a Reply

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