Skip to content
This repository has been archived by the owner on Apr 2, 2023. It is now read-only.
/ docker-nzbgetvpn Public archive

Docker container which runs NZBGet with an optional WireGuard or OpenVPN connection

License

Notifications You must be signed in to change notification settings

DyonR/docker-nzbgetvpn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Status notice

Due to loss in interest in maintaining Docker container, this project is no longer being worked on and no updates can be expected.


NZBGet, WireGuard and OpenVPN

Docker Pulls Docker Image Size (tag)

Docker container which runs the latest NZBGet client while connecting to WireGuard or OpenVPN with iptables killswitch to prevent IP leakage when the tunnel goes down.

Docker Features

  • Base: Debian bullseye-slim
  • NZBGet compiled from source
  • Selectively enable or disable WireGuard or OpenVPN support
  • IP tables killswitch to prevent IP leaking when VPN connection fails
  • Specify name servers to add to container
  • Configure UID and GID for config files and /downloads for NZBGet
  • Created with Unraid in mind

Run container from Docker registry

The container is available from the Docker registry and this is the simplest way to get it
To run the container use this command, with additional parameters, please refer to the Variables, Volumes, and Ports section:

$ docker run --privileged  -d \
              -v /your/config/path/:/config \
              -v /your/downloads/path/:/downloads \
              -e "VPN_ENABLED=yes" \
              -e "VPN_TYPE=wireguard" \
              -e "LAN_NETWORK=192.168.0.0/24" \
              -e "NAME_SERVERS=1.1.1.1,1.0.0.1" \
              -p 6789:6789 \
              -p 6791:6791 \
              --restart unless-stopped \
              dyonr/nzbgetvpn

Variables, Volumes, and Ports

Environment Variables

Variable Required Function Example Default
VPN_ENABLED Yes Enable VPN (yes/no)? VPN_ENABLED=yes yes
VPN_TYPE Yes WireGuard or OpenVPN (wireguard/openvpn)? VPN_TYPE=wireguard openvpn
VPN_USERNAME No If username and password provided, configures ovpn file automatically VPN_USERNAME=ad8f64c02a2de
VPN_PASSWORD No If username and password provided, configures ovpn file automatically VPN_PASSWORD=ac98df79ed7fb
LAN_NETWORK Yes (atleast one) Comma delimited local Network's with CIDR notation LAN_NETWORK=192.168.0.0/24,10.10.0.0/24
ENABLE_SSL No Let the container handle SSL (yes/no)? ENABLE_SSL=yes yes
WEBUI_USERNAME Yes Username used to connect to the WebUI WEBUI_USERNAME=nzbget nzbget
WEBUI_PASSWORD Yes Password used to connect to the WebUI WEBUI_PASSWORD=tegbzn6789 tegbzn6789
NAME_SERVERS No Comma delimited name servers NAME_SERVERS=1.1.1.1,1.0.0.1 1.1.1.1,1.0.0.1
PUID No UID applied to /config files and /downloads PUID=99 99
PGID No GID applied to /config files and /downloads PGID=100 100
UMASK No UMASK=002 002
HEALTH_CHECK_HOST No This is the host or IP that the healthcheck script will use to check an active connection HEALTH_CHECK_HOST=one.one.one.one one.one.one.one
HEALTH_CHECK_INTERVAL No This is the time in seconds that the container waits to see if the internet connection still works (check if VPN died) HEALTH_CHECK_INTERVAL=300 300
HEALTH_CHECK_SILENT No Set to 1 to supress the 'Network is up' message. Defaults to 1 if unset. HEALTH_CHECK_SILENT=1 1
INSTALL_PYTHON3 No Set this to yes to let the container install Python3. INSTALL_PYTHON3=yes no
ADDITIONAL_PORTS No Adding a comma delimited list of ports will allow these ports via the iptables script. ADDITIONAL_PORTS=1234,8112

Volumes

Volume Required Function Example
config Yes NZBGet, WireGuard and OpenVPN config files /your/config/path/:/config
downloads No Default downloads path for saving downloads /your/downloads/path/:/downloads

Ports

Port Proto Required Function Example
6789 TCP Yes NZBGet WebUI (HTTP) 6789:6789
6791 TCP Yes NZBGet WebUI (HTTPS) 6791:6791

Access the WebUI

Access http://IPADDRESS:PORT from a browser on the same network. (for example: http://192.168.0.90:6789)

Default Credentials

Credential Default Value
Username nzbget
Password tegbzn6789

How to use WireGuard

The container will fail to boot if VPN_ENABLED is set and there is no valid .conf file present in the /config/wireguard directory. Drop a .conf file from your VPN provider into /config/wireguard and start the container again. The file must have the name wg0.conf.

How to use OpenVPN

The container will fail to boot if VPN_ENABLED is set and there is no valid .ovpn file present in the /config/openvpn directory. Drop a .ovpn file from your VPN provider into /config/openvpn and start the container again. You may need to edit the ovpn configuration file to load your VPN credentials from a file by setting auth-user-pass.

Note: The script will use the first ovpn file it finds in the /config/openvpn directory. Adding multiple ovpn files will not start multiple VPN connections.

Example auth-user-pass option for .ovpn files

auth-user-pass credentials.conf

Example credentials.conf

username
password

PUID/PGID

User ID (PUID) and Group ID (PGID) can be found by issuing the following command for the user you want to run the container as:

id <username>

Issues

If you are having issues with this container please submit an issue on GitHub.
Please provide logs, Docker version and other information that can simplify reproducing the issue.
If possible, always use the most up to date version of Docker, you operating system, kernel and the container itself. Support is always a best-effort basis. I personally do not use NZBGet, thus providing support about that product is nearly impossible for me.

About

Docker container which runs NZBGet with an optional WireGuard or OpenVPN connection

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published