项目作者: ahuh

项目描述 :
Docker image (ARMv7) hosting a qBittorrent client with WebUI while connecting to OpenVPN
高级语言: Shell
项目地址: git://github.com/ahuh/docker-arm-qbittorrentvpn.git
创建时间: 2017-05-29T19:52:33Z
项目社区:https://github.com/ahuh/docker-arm-qbittorrentvpn

开源协议:MIT License

下载


Docker ARM qBittorrent VPN

Docker image dedicated to ARMv7 processors, hosting a qBittorrent client with WebUI while connecting to OpenVPN.



This project is based on an existing project, modified to work on ARMv7 WD My Cloud EX2 Ultra NAS.

See GitHub repository: https://github.com/haugene/docker-transmission-openvpn



This image is part of a Docker images collection, intended to build a full-featured seedbox, and compatible with WD My Cloud EX2 Ultra NAS (Docker v1.7.0):

Docker Image GitHub repository Docker Hub repository
Docker image (ARMv7) hosting a Transmission torrent client with WebUI while connecting to OpenVPN https://github.com/ahuh/docker-arm-transquidvpn https://hub.docker.com/r/ahuh/arm-transquidvpn
Docker image (ARMv7) hosting a qBittorrent client with WebUI while connecting to OpenVPN https://github.com/ahuh/docker-arm-qbittorrentvpn https://hub.docker.com/r/ahuh/arm-qbittorrentvpn
Docker image (ARMv7) hosting SubZero with MKVMerge (subtitle autodownloader for TV shows) https://github.com/ahuh/docker-arm-subzero https://hub.docker.com/r/ahuh/arm-subzero
Docker image (ARMv7) hosting a SickChill server with WebUI https://github.com/ahuh/docker-arm-sickchill https://hub.docker.com/r/ahuh/arm-sickchill
Docker image (ARMv7) hosting a Medusa server with WebUI https://github.com/ahuh/docker-arm-medusa https://hub.docker.com/r/ahuh/arm-medusa
Docker image (ARMv7) hosting a Jackett server with WebUI https://github.com/ahuh/docker-arm-jackett https://hub.docker.com/r/ahuh/arm-jackett
Docker image (ARMv7) hosting a NGINX server to secure SickRage, Transmission and qBittorrent https://github.com/ahuh/docker-arm-nginx https://hub.docker.com/r/ahuh/arm-nginx

Installation

Preparation

Before running container, you have to retrieve UID and GID for the user used to mount your torrents data directory:

  • Get user UID:
    1. $ id -u <user>
  • Get user GID:
    1. $ id -g <user>
    The container will run impersonated as this user, in order to have read/write access to the torrents data directory.

Run container in background

  1. $ docker run --name qbittorrent --restart=always -d \
  2. --add-host=dockerhost:<docker host IP> \
  3. --dns=<ip of dns #1> --dns=<ip of dns #2> \
  4. -p <webui port>:8082 --cap-add=NET_ADMIN \
  5. --device=<tunnel network interface> \
  6. -v <path to torrent dir to scan>:/torrentdir \
  7. -v <path to completed dir>:/completeddir \
  8. -v <path to incompleted dir>:/incompletedir \
  9. -v <path to qBittorrent configuration dir>:/config/.config/qBittorrent \
  10. -v /etc/localtime:/etc/localtime:ro \
  11. -e "OPENVPN_PROVIDER=<openvpn provider>" \
  12. -e "OPENVPN_CONFIG=<openvpn configuration>" \
  13. -e "OPENVPN_USERNAME=<openvpn user name>" \
  14. -e "OPENVPN_PASSWORD=<openvpn password> \
  15. -e "OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60" \
  16. -e "LOCAL_NETWORK=<local network ip/mask>" \
  17. -e "PUID=<user uid>" \
  18. -e "PGID=<user gid>" \
  19. ahuh/arm-qbittorrentvpn

or

  1. $ ./docker-run.sh qbittorrent ahuh/arm-qbittorrentvpn

(set parameters in docker-run.sh before launch, and generate a docker-params.sh to store secret OpenVPN parameters, as described in docker-run.sh)

Configure qBittorrent

The container will use volumes directories to store torrent files, downloaded files, and configuration files.



You have to create these volume directories with the PUID/PGID user permissions, before launching the container:

  1. /torrentdir
  2. /completeddir
  3. /incompletedir
  4. /config/.config/qBittorrent

The container will automatically create a qBittorrent.conf file in the qBittorrent configuration dir (only if none was present before).

  • Authentication is enabled in WebUI. The default credentials (you may change them in WebUI settings) are:
    • Login: admin
    • Password: adminadmin
  • This section will be automatically added to prevent manual validation at first start:
    1. [LegalNotice]
    2. Accepted=true
  • The following parameters will be automatically modified at launch for compatibility with the Docker container:
    1. [Preferences]
    2. ...
    3. Downloads\SavePath=/completeddir
    4. Downloads\TempPathEnabled=true
    5. Downloads\TempPath=/incompletedir
    6. Downloads\ScanDirs=/torrentdir
  • With PIA VPN, the following parameter will be automatically modified at launch if port forwarding is available:
    1. [Preferences]
    2. Connection\PortRangeMin=XXX


    If you modified the qBittorrent.conf file, restart the container to reload qBittorrent configuration:
    1. $ docker stop qbittorrent
    2. $ docker start qbittorrent

HOW-TOs

Get a new instance of bash in running container

Use this command instead of docker attach if you want to interact with the container while it’s running:

  1. $ docker exec -it qbittorrent /bin/bash

or

  1. $ ./docker-bash.sh qbittorrent

Build image

  1. $ docker build -t arm-qbittorrentvpn .

or

  1. $ ./docker-build.sh arm-qbittorrentvpn