Go to file
RickyXwang 2287ee9cc4
Update HealthCheck for auto-recover TUN down (#1373)
* Update tunnelDown.sh

Add attempt to restart TUN
2020-09-29 08:51:34 +09:00
.circleci Move all builds from Docker Hub to CircleCI, simplify build config 2020-02-11 17:17:00 +01:00
.github Update stale bot message 2020-07-08 01:35:17 +02:00
docs Added BasicAuth to tinyproxy, updated docs and dockerfiles 2020-05-29 17:33:02 +09:00
images Update README 2018-10-21 19:01:51 +02:00
openvpn Fix for invalid URLs generated when setting OPENVPN_CONFIG #1332 2020-08-23 20:26:52 +02:00
plugins/rss Adds regexp support to rss 2020-06-03 15:51:08 +09:00
proxy Changing armhf base image for compatability with all rpi verisons #721 2019-03-26 22:28:32 +01:00
scripts Update HealthCheck for auto-recover TUN down (#1373) 2020-09-29 08:51:34 +09:00
tinyproxy Added BasicAuth to tinyproxy, updated docs and dockerfiles 2020-05-29 17:33:02 +09:00
transmission Update OVPN configs (plus a small bonus bugfix) (#1265) 2020-06-27 19:28:03 +09:00
.dockerignore * Add .git to .dockerignore so we don't send to docker build context 2018-02-15 16:05:04 +00:00
default.ovpn Giganews Provider Correction 2020-05-16 00:34:10 +01:00
docker-compose-armhf.yml Fix builds on ARM arch but keeping ARM cross builds. Fix #638. 2018-12-16 13:02:23 +01:00
docker-compose.yml Merge branch 'dev' into master 2018-01-02 08:46:33 +13:00
DockerEnv Added BasicAuth to tinyproxy, updated docs and dockerfiles 2020-05-29 17:33:02 +09:00
Dockerfile Added BasicAuth to tinyproxy, updated docs and dockerfiles 2020-05-29 17:33:02 +09:00
Dockerfile.alpine Naming community repo as community 2020-08-06 17:45:47 +02:00
Dockerfile.armhf Adding p7zip and p7zip-full for unzipping on ARM archs (#1284) 2020-07-07 19:58:06 +09:00
LICENSE initial commit. working, but needs more features 2014-11-09 16:23:18 +01:00
mkdocs.yml proposition for a manual page to explain NordVpn update script parameters 2019-06-26 07:47:28 +02:00
README.md Update readme with info about upcoming release 2020-08-06 18:40:45 +02:00

OpenVPN and Transmission with WebUI

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

Depracation Warning - changes are coming!

TL;DR: Nothing has changed yet for the latest tag, but there is a 3.0 version coming. Until then the dev tag could be more unstable than before.

After years of maintaining and developing this project there are a couple of things that users keep asking about and that we now want to change in order to eventually make it easier for everyone. It looks like we will be close to 100% backwards compatible but we will probably have a couple of breaking changes where users would have to rename a config parameter or two, etc.

As of now we are devoting the dev branch to development of the new version 3.0, and the master branch will continue on 2.x. Updates to openvpn configs and other smaller changes should be contributed to the master branch as the dev branch will not be merged into master before we have developed, tested and stabilized the new version.

Some highlights on version 3.x:

  • We're dropping the ubuntu based image and making alpine the default (reduce double maintenance)
  • We're making Transmission settings persistent by default, removing the need for all the environment variables (but keeping support for it)
  • We're making it easier to provide your own OpenVPN (.ovpn) config file.
  • Possibly extracting the OpenVPN configs so that we can maintain that in a separate project and focus on the core in this project.

These changes will not be in effect in a while yet, and I will update here when they are and provide a list of non backwards compatible changes. If you are following the "latest" tag, at some point it will be changed to the 3.x version and your container might break. At that point, either follow the upgrade guide (coming) or revert the version to the latest release on 2.x versions.

The dev branch will be used for the 3.x going forwards, so to all of you following that one. You have been warned, it might be a bit unstable going forwards.

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.