Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Multiarch docker image with the latest qBittorrent-nox client (WEB UI) and WireGuard/OpenVPN tunnel

License

NotificationsYou must be signed in to change notification settings

Trigus42/alpine-qbittorrentvpn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Codacy BadgeDocker PullsDocker Image Size (tag)

Docker container which runs the latest qBittorrent-nox client while connecting to WireGuard or OpenVPN with netfilter killswitch to prevent IP leakage when the tunnel goes down.

Features

  • Netfilterkillswitch to prevent IP leaking when VPN connection fails
  • Selectively enable or disableWireGuard orOpenVPN support
  • IPv6 support
  • ConfigurableUID andGID for config files and /downloads for qBittorrent
  • Build foramd64,arm64,armv8 andarmv7
  • ...

Run container:

Then start the container by running:

docker compose up -d

Image Tags

TagDescription
trigus42/qbittorrentvpn:latestThe latest image with the most recent version of qBittorrent
trigus42/qbittorrentvpn:qbtx.x.xImage with qBittorrent version x.x.x
trigus42/qbittorrentvpn:COMMIT-HASHImage built from the commit with corresponding SHA hash
trigus42/qbittorrentvpn:COMMIT-HASH-qbtx.x.xImage built from the commit with corresponding SHA hash and qBittorrent version x.x.x

WARNING: Only with thelatest tag will you continuously receive updates.

Environment Variables

VariableFunctionExampleDefault
DEBUGPrint information useful for debugging in logyesno
DOWNLOAD_DIR_CHOWNWhether or not to chown files in the/downloads directory toPUID andPGIDnoyes
ENABLE_SSLLet the container handle SSLyesno
FIREWALL_CHECK_HOSTHost or IP that will be used to check if the firewall can be bypassed8.8.8.88.8.8.8
HEALTH_CHECK_HOSTHost or IP that will be used to check if the connection is still up8.8.8.81.1.1.1
HEALTH_CHECK_INTERVALInterval in seconds between connection checks55
HEALTH_CHECK_TIMEOUTTime in seconds to wait for the internet connection to be restored before restarting3015
LEGACY_IPTABLESUse iptables instead of nftables for legacy systemsyesno
NAME_SERVERSComma delimited name servers1.1.1.1,1.0.0.11.1.1.1,1.0.0.1
PGIDGID to be applied to /config files and /downloads991000
PUIDUID that qBt will be run as and to be applied to /config files and /downloads991000
TZSpecify a timezone to useEurope/LondonUTC
UMASKSet file mode creation mask002002
VPN_ENABLEDEnable VPN (yes/no)?yesyes
VPN_PASSWORDIf username and password provided, configures all ovpn files automaticallyac98df79ed7fb
VPN_TYPEWireGuard or OpenVPN (wireguard/openvpn)?openvpnwireguard
VPN_USERNAMEIf username and password provided, configures all ovpn files automaticallyad8f64c02a2de
WEBUI_ALLOWED_NETWORKSComma delimited networks in CIDR notation. If set, only networks in this list can access the WebUI.192.168.0.0/16,fd5e:d5b:760a:4796::/64
WEBUI_PASSWORDSet WebUI password if none is set (won't change it)mypassword

Volumes

VolumeRequiredFunctionExample
configYesqBittorrent, WireGuard and OpenVPN config files/your/config/path/:/config
downloadsNoDefault downloads path for saving downloads/your/downloads/path/:/downloads

Ports

PortProtoRequiredFunctionExample
8080TCPYesqBittorrent WebUI8080:8080

VPN Configuration

If there are multiple config files present, one will be choosen randomly.

WireGuard

The container will fail to boot ifVPN_ENABLED is set and there is no validINTERFACE.conf file present in the/config/wireguard directory. Drop a.conf file from your VPN provider into/config/wireguard and start the container again.

Recommended INTERFACE names includewg0 orwgvpn0 or evenwgmgmtlan0. However, the number at the end is in fact optional, and really any free-form string[a-zA-Z0-9_=+.-]{1,15} will work. So even interface names corresponding to geographic locations would suffice, such ascincinnati,nyc, orparis, if that's somehow desirable.[source]

OpenVPN

The container will fail to boot ifVPN_ENABLED is set and there is no validFILENAME.ovpn file present in the/config/openvpn directory. Drop a.ovpn file from your VPN provider into/config/openvpn (if necessary with additional files like certificates) and start the container.

You can either use the environment variablesVPN_USERNAME andVPN_PASSWORD or store your credentials inopenvpn/credentials.conf. Those credentials will be used to create credential files for all VPN configs initially.If you manually store your VPN credentials inopenvpn/FILENAME_credentials.conf, those will be used for the particular VPN config.

Example credentials file

YOURUSERNAMEYOURPASSWORD

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>

Customization

Just mount your script to/custom-cont-init.d in the container. Those scripts are executed before any of the default init scripts.Seedocs/examples/scripts for examples.

Build it yourself

You can use theDockerfile with all architectures and versions of qBT that are listedhere.

If you don't specify any tags, the latest release version will be used.

$ git clone https://github.com/Trigus42/alpine-qbittorrentvpn.git$cd alpine-qbittorrentvpn$ QBITTORRENT_TAG={TAG} docker build -f Dockerfile -t qbittorrentvpn.

Build for all supported architectures:

$ QBITTORRENT_TAG={TAG} docker buildx bake -f bake.yml

If you want to use this command to push the images to a registry (append--push to the above command), you have to modify theimage setting inbake.yml.

Reporting Issues

When encountering an issue, please first attempt to reproduce it using the most up-to-date stable versions of Docker, your operating system, kernel, and the container itself.

Before opening a new issue, please refer to previously reported issues as well as thecommon issues. Your issue might have already been addressed, or there may be ongoing discussions that you can join.

Upon opening an issue, kindly provide the following details:

  • Full logs from container boot to exit, preferably with theDEBUG=yes environment variable set.
  • Your Docker compose file or Docker run command.
  • Depending on your situation, other relevant information such as:
    • The image where the issue first arose. Including tag information such as date and commit hash can be immensely useful, especially if you suspect that a recent change may have introduced the problem.
    • Your VPN config file, with any keys and other sensitive information removed.
    • Any additional details that may be relevant to your specific situation.

While logs should not display passwords and keys, it is highly recommended to review them for any sensitive information. Depending on your particular case, you might also want to redact IP addresses and domain names.

Credits:

Software

Inspiration

This image was inspired by and is partially based onDyonR/docker-qbittorrentvpn,MarkusMcNugen/docker-qBittorrentvpn andbinhex/arch-qbittorrentvpn.

About

Multiarch docker image with the latest qBittorrent-nox client (WEB UI) and WireGuard/OpenVPN tunnel

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors7


[8]ページ先頭

©2009-2025 Movatter.jp