Run NZBGet via Docker on Synology DSM 6.0

NZBGet is a great application to automate downloads. Synology has introduced with DSM 6.0 full Docker support which now makes it even easier to install and run any 3rd party application.

The first step is to get Docker installed via the Synology Package Center:

Once Docker is installed, you can simply search for the relevant image and install via the registry:

In my case the installation of the images did not work via the web-interface and I received a meaningless “Operation failed” error. If you experience the same you need to connect to the Synology via Terminal (SSH or Telnet) and then install the images manually:

docker pull linuxserver/nzbget

Once you have installed the images (it does not matter if you do this via the command line or the web-interface), you can configure the Docker container:

How to get the PGID and PUID

Sometimes when using data volumes (-v flags) permissions issues can arise between the host OS and the container. Those issues are avoided by specifing the user PUID and group PGID. Just ensure that the data volume directory on the host is owned by the same user/group and it will “just work”. You will again need to get onto a terminal session on the Synology and then look at the content of two files:

The PGID can be found via a “cat /etc/group” and then look up the PGID for the admin group (in my case below the PGID is “101”):

MuffinStation> cat /etc/group
administrators:x:101:admin
avahi:x:84:
...

 

The PUID  can be found via a “cat /etc/synouser.conf” and then look up at the PUID for the admin user (in my case below the PUID is “0”):

MuffinStation> cat /etc/synouser.conf
admin:0:
guest:0:
...

Configuring NZBGet for Docker on Synology

From the “Image”-tab select the nzbget:latest image and then click on “Launch with wizard”:

In the first step you want to map the NZBGet internal port (6789) to an external port (I chose 9200, but you can also have the local and the container port be the same):

In the second step you can leave the defaults as is (if you notice too high resource usage, you can alway adjust it later on):

In the “Summary” step you need to click on “Advanced Configuration” to make some adjustments:

In the Volume-settings you need to create a “docker/nzbget” folder which will store the NZBGet configuration:

You will configure two Volumes and mounts. It is important that “/Downloads” is a shared folder which can be accessed by CouchPotato, Sonarr and others. The way Docker images work is that you assign a Synology volume to a “Docker mount”. The “Docker mount” is pre-configured with a “hard-coded” name and you must not change the “Mount path” name as the exact naming is required by the Docker image to work:

The last step requires you to configure the environment variables for PGID, PUID and time-zone:

Once you saved the configuration you can start the container and then access NZBGet for further configuration via the Local Port you configured above.