nzbgetvpn
NZBGet on binhex/arch-int-vpn: OpenVPN/WireGuard, Privoxy, SOCKS, iptables leak protection.
10K+
Docker image for NZBGet with OpenVPN/WireGuard, Privoxy, SOCKS support and VPN leak protection.
Built on top of binhex/arch-int-vpn:
Full documentation (search, guides): https://marc0janssen.github.io/nzbgetvpn/
| Tag | Description |
|---|---|
stable | Stable NZBGet release |
testing | Testing NZBGet release |
<version> | Versioned app tag, e.g. 26.1 |
<nzbget-version>-image-v<version> | Combined app/codebase tag, e.g. 26.1-image-v4.24.7 |
OpenVPN:
docker run -d \
--name=nzbgetvpn \
--cap-add=NET_ADMIN \
--restart unless-stopped \
-p 6789:6789 \
-p 8118:8118 \
-v /path/to/config:/config \
-v /path/to/data:/data \
-v /etc/localtime:/etc/localtime:ro \
-e VPN_ENABLED=yes \
-e VPN_CLIENT=openvpn \
-e VPN_PROV=custom \
-e LAN_NETWORK=192.168.1.0/24 \
-e NAME_SERVERS=1.1.1.1,1.0.0.1 \
-e ENABLE_PRIVOXY=yes \
-e STRICT_PORT_FORWARD=no \
-e UMASK=000 \
-e PUID=1000 \
-e PGID=1000 \
marc0janssen/nzbgetvpn:stable
WireGuard (replace capabilities):
privileged: true
sysctls:
net.ipv4.conf.all.src_valid_mark: "1"
Default NZBGet login: nzbget / tegbzn6789 (change after first start).
| Path | Description |
|---|---|
/config | Persistent app/VPN config |
/data | Downloads, scripts, state |
/etc/localtime:ro | Optional timezone alignment |
Bundled scripts are managed in /data/scripts.
Bundled script docs are synced to /data/scripts/docs.
| Variable | Example | Description |
|---|---|---|
VPN_ENABLED | yes | Enable VPN handling |
VPN_CLIENT | openvpn, wireguard | Select client |
VPN_PROV | custom | Provider key |
LAN_NETWORK | 192.168.1.0/24 | Allowed LAN CIDR(s) |
NAME_SERVERS | 1.1.1.1,1.0.0.1 | DNS list |
ENABLE_PRIVOXY | yes | Privoxy on 8118/tcp |
PUID / PGID | 1000 | File ownership |
UMASK | 000 | File creation mask |
BUNDLED_SYNC_POLICY | smart, force, preserve | Startup sync policy for bundled /data templates (default smart; docs still sync in smart mode) |
Preserve marker behavior for managed bundled files:
nzbgetvpn: preserve-local inside managed runtime script files (for example /data/scripts/lib.sh) to keep local edits when BUNDLED_SYNC_POLICY=smart.smart mode.data/scripts/README.mddata/scripts/docs//data/scripts/container/doctor.sh inside the container./data/scripts/container/doctor.sh --heal (creates backups under /data/backups/doctor-heal-<timestamp>/).docker exec: ./data/scripts/host/run-container-helper.sh.For complete environment matrix, self-test/unhealthy logic, provider setup, troubleshooting, and build/update workflow:
README.md./scripts/ci-smoke-test.shci/README.mdSMOKE_PLATFORM=linux/amd64../build.sh / ./build-testing.sh with optional untracked build.env / build-testing.env (see *.env.example). Local registry: ./build-testing-local.sh and build-testing-local.env. Details: README.md — Build and Update../scripts/ci-quality-checks.shquality-checks.yml (push + pull_request, conflict-marker scan + README-containers.md <25000 bytes guard + syntax + shellcheck + shfmt --diff + AGENTS.md validation checklist)../scripts/sync-rotate-defaults-doc.sh and validated in quality checks.SHELLCHECK_EXCLUDES= ./scripts/ci-quality-checks.sh.CI_CONVENTIONAL_COMMIT_LINT=true (workflow reads repo variable CI_CONVENTIONAL_COMMIT_LINT).smoke-test.yml (push + pull_request, runtime startup/reachability/self-test checks).Do not expose credentials, tokens, VPN profiles, private keys, or .env files in public issues.
Content type
Image
Digest
sha256:77dc32dcb…
Size
600.5 MB
Last updated
2 months ago
docker pull marc0janssen/nzbgetvpn:testing