Skip to content

danukefl/docker-transmission-openvpn

 
 

Repository files navigation

OpenVPN and Transmission with WebUI

This is a fork from haugene/transmission-openvpn

CircleCI builds Docker Pulls Join the chat at https://gitter.im/docker-transmission-openvpn/Lobby

Quick Start

This container contains OpenVPN and Transmission with a configuration where Transmission is running only when OpenVPN has an active tunnel. It bundles configuration files for many popular VPN providers to make the setup easier.

$ docker run --cap-add=NET_ADMIN -d \
              -v /your/storage/path/:/data \
              -v /etc/localtime:/etc/localtime:ro \
              -e CREATE_TUN_DEVICE=true \
              -e OPENVPN_PROVIDER=PIA \
              -e OPENVPN_CONFIG=CA\ Toronto \
              -e OPENVPN_USERNAME=user \
              -e OPENVPN_PASSWORD=pass \
              -e WEBPROXY_ENABLED=false \
              -e LOCAL_NETWORK=192.168.0.0/16 \
              --log-driver json-file \
              --log-opt max-size=10m \
              -p 9091:9091 \
              haugene/transmission-openvpn

Docker Compose

version: '3.3'
services:
    transmission-openvpn:
        volumes:
            - '/your/storage/path/:/data'
            - '/etc/localtime:/etc/localtime:ro'
        environment:
            - CREATE_TUN_DEVICE=true
            - OPENVPN_PROVIDER=PIA
            - OPENVPN_CONFIG=CA Toronto
            - OPENVPN_USERNAME=user
            - OPENVPN_PASSWORD=pass
            - WEBPROXY_ENABLED=false
            - LOCAL_NETWORK=192.168.0.0/16
        cap_add:
            - NET_ADMIN
        logging:
            driver: json-file
            options:
                max-size: 10m
        ports:
            - '9091:9091'
        image: haugene/transmission-openvpn

Documentation

The full documentation is available at https://haugene.github.io/docker-transmission-openvpn/.

Please help out (about:maintenance)

This image was created for my own use, but sharing is caring, so it had to be open source. It has now gotten quite popular, and that's great! But keeping it up to date, providing support, fixes and new features takes a lot of time.

I'm therefore kindly asking you to donate if you feel like you're getting a good tool and you're able to spare some dollars to keep it functioning as it should. There's a couple of ways to do it:

Become a patron, supporting the project with a small monthly amount.

Donate with Patreon

Make a one time donation through PayPal.

Donate with PayPal

Or use this referral code to DigitalOcean and get 25$ in credits, if you're interested in a cloud setup.

Credits on DigitalOcean

You can also help out by submitting pull-requests or helping others with open issues or in the gitter chat. A big thanks to everyone who has contributed so far! And if you could be interested in joining as collaborator, let me know.

$ docker run --cap-add=NET_ADMIN --device=/dev/net/tun -d \
              -v /your/storage/path/:/data \
              -v /etc/localtime:/etc/localtime:ro \
              -e OPENVPN_PROVIDER=PIA \
              -e OPENVPN_CONFIG=CA\ Toronto \
              -e OPENVPN_USERNAME=user \
              -e OPENVPN_PASSWORD=pass \
              -e WEBPROXY_ENABLED=false \
              -e LOCAL_NETWORK=192.168.0.0/16 \
              --log-driver json-file \
              --log-opt max-size=10m \
              -p 9091:9091 \
              haugene/transmission-openvpn

You must set the environment variables OPENVPN_PROVIDER, OPENVPN_USERNAME and OPENVPN_PASSWORD to provide basic connection details.

The OPENVPN_CONFIG is an optional variable. If no config is given, a default config will be selected for the provider you have chosen. Find available OpenVPN configurations by looking in the openvpn folder of the GitHub repository. The value that you should use here is the filename of your chosen openvpn configuration without the .ovpn file extension. For example:

-e "OPENVPN_CONFIG=ipvanish-AT-Vienna-vie-c02"

You can also provide a comma separated list of openvpn configuration filenames. If you provide a list, a file will be randomly chosen in the list, this is useful for redundancy setups. For example:

-e "OPENVPN_CONFIG=ipvanish-AT-Vienna-vie-c02,ipvanish-FR-Paris-par-a01,ipvanish-DE-Frankfurt-fra-a01"

Supported providers

This is a list of providers that are bundled within the image. Feel free to create an issue if your provider is not on the list, but keep in mind that some providers generate config files per user. This means that your login credentials are part of the config an can therefore not be bundled. In this case you can use the custom provider setup described later in this readme. The custom provider setting can be used with any provider.

Provider Name Config Value (OPENVPN_PROVIDER)
Anonine ANONINE
AnonVPN ANONVPN
BlackVPN BLACKVPN
BTGuard BTGUARD
Cryptostorm CRYPTOSTORM
Cypherpunk CYPHERPUNK
FreeVPN FREEVPN
FrootVPN FROOT
FrostVPN FROSTVPN
Giganews GIGANEWS
HideMe HIDEME
HideMyAss HIDEMYASS
IntegrityVPN INTEGRITYVPN
IPredator IPREDATOR
IPVanish IPVANISH
IronSocket IRONSOCKET
Ivacy IVACY
IVPN IVPN
Mullvad MULLVAD
Newshosting NEWSHOSTING
NordVPN NORDVPN
OVPN OVPN
Perfect Privacy PERFECTPRIVACY
Private Internet Access PIA
PrivateVPN PRIVATEVPN
ProtonVPN PROTONVPN
proXPN PROXPN
proxy.sh PROXYSH
PureVPN PUREVPN
RA4W VPN RA4W
SaferVPN SAFERVPN
SlickVPN SLICKVPN
Smart DNS Proxy SMARTDNSPROXY
SmartVPN SMARTVPN
TigerVPN TIGER \
TorGuard TORGUARD
Trust.Zone TRUSTZONE
TunnelBear TUNNELBEAR
UsenetServerVPN USENETSERVER
Windscribe WINDSCRIBE
VPNArea.com VPNAREA
VPN.AC VPNAC
VPN.ht VPNHT
VPNBook.com VPNBOOK
VPNFacile VPNFACILE
VPNTunnel VPNTUNNEL
VyprVpn VYPRVPN

About

Docker container running Transmission torrent client with WebUI over an OpenVPN tunnel

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 86.0%
  • Dockerfile 11.8%
  • Python 2.2%