This repository is no longer actively managed.
Please migrate to Linuxserver's GitHub repository, respectively use Linuxserver's Docker(Hub) image.
This is a Docker image for SABnzbd - the Open Source Binary Newsreader written in Python.
The Docker image currently supports:
- running SABnzbd under its own user (not
root
) - changing of the UID and GID for the SABnzbd user
- changing the
host_whitelist
setting for compatibility with hostname verification - support for OpenSSL / HTTPS encryption
- support for RAR archives
- support for ZIP archives
- support for 7Zip archives (with SABnzbd version >= 0.8)
- support for the latest
par2
repair utility (improved with SABnzbd version >= 0.8)
To run the SABnzbd container you can execute:
docker run --name sabnzbd -v <datadir path>:/datadir -v <media path>:/media -p 8080:8080 sabnzbd/sabnzbd
Open a browser and point it to http://my-docker-host:8080
You can also run the SABnzbd container by using Docker Compose.
If you've cloned the git repository you can build and run the Docker container locally (without the Docker Hub):
docker-compose up -d
If you want to use the Docker Hub image within your existing Docker Compose file you can use the following YAML snippet:
sabnzbd:
image: "sabnzbd/sabnzbd"
container_name: "sabnzbd"
volumes:
- "<datadir path>:/datadir"
- "<media path>:/media"
ports:
- "8080:8080"
restart: always
Please mount the following volumes inside your SABnzbd container:
/datadir
: Holds all the SABnzbd data files (e.g. config, postProcessing)/media
: Directory for media (downloaded files)
By default the SABnzbd configuration is located on /datadir/config.ini
.
If you want to change this you've to set the CONFIG
environment variable, for example:
CONFIG=/datadir/sabnzbd.ini
By default SABnzbd runs with user ID and group ID 666
.
If you want to run SABnzbd with different ID's you've to set the SABNZBD_UID
and/or SABNZBD_GID
environment variables, for example:
SABNZBD_UID=1234
SABNZBD_GID=1234
When mounted volumes use different groups to manage access permission, set the SABNZBD_GID_LIST
environment variable to create groups in the container. The container user will be automatically added to these groups. The variable can take multiple GIDs seperated with comma, for example:
SABNZBD_GID_LIST=123,124,125
Starting with version 2.3.3 SABnzbd implements hostname verification to protect against DNS hijacking attacks. Thus by default SABnzbd allows access to the web interface only by either accessing it directly by IP address or by the hostname of the machine on which it runs. But the IP address or hostname of the running Docker instance is not always available or accessible from the outside (especially when running in Kubernetes).
You can work around this by setting the container hostname with
docker create -h sabnzbd.example.com ...
when creating the container. This
will allow you to access SABnzbd by http://sabnzbd.example.com:8080
by
default.
You can also use set the environment variable HOST_WHITELIST_ENTRIES
to a
string of comma-separated values of hostnames and FQDNs under which SABnzbd
should be accessible. This will update the host_whitelist
special setting
with those values. Note that the container's hostname is always included in
this whitelist. For example:
HOST_WHITELIST_ENTRIES="sabnzbd.example.com, sabnzbd.other.example.net"
SABnzbd brings a lot of improvements in version 0.8
and greater. This image is built to use those improvements, which means:
- you can use the latest
par2
utility and set Extra PAR2 Parameters in your SABnzbd config switches-t
for usingpar
with multi-core CPUs (see also this wiki page)-N
to improve failed repairs (see also this forum thread)
- you can use 7Zip to unpack
.7z
archives