hbixu/qbittorrent-jackett-openvpn

By hbixu

Updated over 1 year ago

Docker image with qBittorrent, Jackett and OpenVPN client

Image
Networking
0

1.2K

hbixu/qbittorrent-jackett-openvpn repository overview

Introduction

Docker image based on linuxserver/baseimage-alpine:3.20-2a6ecb14-ls14 image for ARM64 and AMD64, where were added the following features:

  • OpenVPN client (v2.6.11)
  • qBittorrent client (v5.0.2 - libtorrent v1.2.19)
  • Jackett client (v0.22.946 updatable)

Supported Architectures

The architectures supported by this image are:

ArchitectureAvailable
arm64
amd64

Version history

ReleaseImageOpenVPNqBittorrentJackett
2.0.1linuxserver/baseimage-alpine:3.20-2a6ecb14-ls142.6.115.0.2 - 1.2.190.22.946
2.0.0linuxserver/baseimage-alpine:3.20-2a6ecb14-ls142.6.115.0.1 - 2.0.100.22.946
1.2.0linuxserver/baseimage-alpine:3.19-d567c4d0-ls152.6.84.6.4 - 2.0.100.21.2415
1.1.1linuxserver/baseimage-alpine:3.18-8d6307e7-ls212.6.54.5.5 - 2.0.90.21.595
1.1.0linuxserver/baseimage-alpine:3.18-8d6307e7-ls212.6.54.5.40.21.595

Notes

OpenVPN

  • Supports IPv4 only

qBittorrent

  • UPnP/NAT-PMP support: OFF

OpenVPN authentication

If OpenVPN requires user authentication, follow the steps below:

  1. Create a text file named auth.txt inside the OpenVPN configuration folder and include the following two lines to indicate the username and password:
<username>
<password>
  1. Edit the .ovpn file and add the following line:
auth-user-pass /config/qBittorrent/auth.txt

Parameters

Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate 'external:internal' respectively. For example, '-p 8080:80' would expose port '80' from inside the container to be accessible from the host's IP on port '8080' outside the container.

ParameterFunction
-e PUID=1000For UserID
-e PGID=1000For GroupID
-e TZ=Europe/LisbonSpecify a timezone to use, see this list.
-e JACKETT_AUTO_UPDATE=trueAllow Jackett to update inside of the container (optional).
Currently recommended by Jackett and enabled by default.
-e OPENVPN_CONFIG=xxxOpenVPN configuration filename (.ovpn).
It must be inside of the configuration folder.
-e OPENVPN_OPTS=OpenVPN options (optional).
Example: --inactive 3600 --ping 10 --ping-exit 60
-e LOCAL_NETWORK=xxx.xxx.xxx.xxx/xxLocal network mask.
Example: 192.168.1.0/24
-e DOCKERHOST=xxx.xxx.xxx.xxxDocker host IP.
Example: 172.17.0.1
-p 8080The port for the qBittorrent WebUI
-p 9117The port for the Jackett WebUI
-v /config/qBittorrentLocation of qBittorrent application data
-v /config/jackettLocation of Jackett application data
-v /config/openvpnLocation of OpenVPN application data
-v /host/p2p/torrentLocation of qBittorrent torrent directory
-v /host/p2p/completedLocation of qBittorrent completed directory
-v /host/p2p/incompleteLocation of qBittorrent incomplete directory

Additional system parameters:

ParameterFunction
--dns=xxx.xxx.xxx.xxxDNS server. It can be set multiple times.
Example: 1.1.1.1
--cap-add=NET_ADMINRequired for OpenVPN to control the network.
--device=/dev/net/tunRequired for OpenVPN to control the network.

Docker compose example:

version: "3.8"
services:
  qbittorrent-openvpn:
    image: hbixu/qbittorrent-jackett-openvpn:latest
    container_name: qbittorrent-jackett-openvpn
    network_mode: bridge # optional - remove line to use the container default network
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Lisbon
      - JACKETT_AUTO_UPDATE=true
      - OPENVPN_CONFIG_FILENAME=<openvpn-filename.ovpn>
      - OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60
      - LOCAL_NETWORK=192.168.1.0/24
      - DOCKERHOST=172.17.0.1
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun 
    dns:
      - 1.1.1.1
      - 8.8.8.8
    volumes:
      - /my-path/config/qBittorrent:/config/qBittorrent
      - /my-path/config/jackett:/config/jackett
      - /my-path/config/openvpn:/config/openvpn
      - /my-path/p2p/torrent:/host/p2p/torrent
      - /my-path/p2p/completed:/host/p2p/completed
      - /my-path/p2p/incomplete:/host/p2p/incomplete
    ports:
      - 8080:8080
      - 9117:9117
    restart: unless-stopped

Docker run example:

sudo docker run -it -d --restart=unless-stopped --name qbittorrent-jackett-openvpn --network bridge -p 8080:8080 -p 9117:9117 --dns=1.1.1.1 --dns=8.8.8.8 --cap-add=NET_ADMIN --device=/dev/net/tun \
-v /my-path/config/qBittorrent/:/config/qBittorrent \
-v /my-path/config/jackett/:/config/jackett \
-v /my-path/config/openvpn/:/config/openvpn \
-v /my-path/p2p/torrent/:/host/p2p/torrent \
-v /my-path/p2p/completed/:/host/p2p/completed \
-v /my-path/p2p/incomplete/:/host/p2p/incomplete \
-e "JACKETT_AUTO_UPDATE=true" \
-e "OPENVPN_CONFIG_FILENAME=<openvpn-filename.ovpn>" \
-e "OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60" \
-e "TZ=Europe/Lisbon" \
-e "PUID=1000" \
-e "PGID=1000" \
-e "LOCAL_NETWORK=192.168.1.0/24" \
-e "DOCKERHOST=172.17.0.1" \
hbixu/qbittorrent-jackett-openvpn:latest

Tag summary

Content type

Image

Digest

sha256:4c8c07bdd

Size

82.9 MB

Last updated

over 1 year ago

docker pull hbixu/qbittorrent-jackett-openvpn