NZBGet builds from nzbgetcom/nzbget repository
NZBGet is an efficient, open-source Usenet software designed for downloading binary content from Usenet newsgroups.
Architecture |
---|
x86-64 |
arm64 |
armhf |
Tag | Description |
---|---|
latest | Stable nzbget releases (from main repository branch) |
testing | Development nzbget builds (from develop repository branch) |
v* | Version-specific release builds (like v22.0 for 22.0 nzbget release) |
docker-compose (recommended)
---
version: "2.1"
services:
nzbget:
image: nzbgetcom/nzbget:latest
container_name: nzbget
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- NZBGET_USER=nzbget #optional
- NZBGET_PASS=tegbzn6789 #optional
volumes:
- /path/to/config:/config
- /path/to/downloads:/downloads #optional
ports:
- 6789:6789
restart: unless-stopped
docker run -d \
--name=nzbget \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-e NZBGET_USER=nzbget `#optional` \
-e NZBGET_PASS=tegbzn6789 `#optional` \
-p 6789:6789 \
-v /path/to/config:/config \
-v /path/to/downloads:/downloads `#optional` \
--restart unless-stopped \
nzbgetcom/nzbget:latest
NZBGet container can be configured by passing environment variables to it. This can be done in docker-compose mode by specifying environment:
and in cli mode by using -e switch.
Parameter | Description |
---|---|
PUID | UserID (see below) |
PGID | GroupID (see below) |
TZ | Timezone |
NZBGET_USER | User name for web auth |
NZBGET_PASS | Password for web auth |
When using volumes (-v flags) permissions issues can arise between the host OS and the container. To avoid this problem we allow to specify the user PUID and group PGID.
The example above uses PUID=1000 and PGID=1000. To find the required ids, run id user
:
$ id user
uid=1000(user) gid=1000(users) groups=1000(users)
For development purposes the Docker Image can be build using the locally cloned repository (docker
folder):
git clone https://github.com/nzbgetcom/nzbget.git
docker compose -f docker/docker-compose.yml up --build
-or-
cd docker
docker build . -t nzbget-local
Dockerfile supports next build arguments:
Argument | Description |
---|---|
NZBGET_RELEASE | Branch name or tag to build from |
UNRAR6_VERSION | Unrar 6 version |
UNRAR7_VERSION | Unrar 7 version |
UNRAR7_NATIVE | Build native unrar (see below) |
MAKE_JOBS | Number of make jobs for speed up build |
Docker images also available on GitHub. For use - replace nzbgetcom/nzbget:TAG
with ghcr.io/nzbgetcom/nzbget:TAG
in above examples.
NZBGet docker image bundled with Python 3.11
In case a linux image or docker image is slower than expected, here are some tips to increase download speed:
- Increase number of server connections (NEWS-SERVERS -> Connections) - default is 8, and 16 and 32 are worth trying
- For slower machines/hosts - increase article read chunk size from 4 to 64 (CONNECTION -> ArticleReadChunkSize). This is new setting available in v23.
The NZBGet docker image contains the optimized unrar7 binary. To use unrar7, change in settings UNPACK - UnrarCmd to unrar7
.
Unrar 7 built with next march parameters:
- x86_64: x86-64-v2
- arm64: armv8-a+crypto+crc
- armhf: armv7-a
More information about unrar performance: Performance tips
To build image on hardware which support crypto acceleration with native-optimized unrar can be used docker-compose like this (also needed entrypoint.sh and Dockerfile from official repository):
---
services:
nzbget:
build:
context: .
args:
# branch to build nzbget from
NZBGET_RELEASE: "develop"
# make jobs == host cpu cores
MAKE_JOBS: 4
# build native unrar
UNRAR7_NATIVE: "true"
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- NZBGET_USER=nzbget
- NZBGET_PASS=tegbzn6789
volumes:
- ./config:/config
- ./downloads:/downloads
ports:
- 6789:6789
restart: unless-stopped