Use the Docker CLI to pull this image
This container contains OpenVPN and Transmission with a configuration where Transmission is running only when OpenVPN has an active tunnel. It has built in support for many popular VPN providers to make the setup easier.
The documentation for this image is here:
Start there if you're having issues or questions about your container. If you can't find your answer in the docs, please search for similar issues (open and closed) before opening a new one.
Still can't figure it out? Open a new issue and share the details of your setup and some logs. Without that it's hard to help you. If you have a proposal for better documentation, come with it. PR's are always welcome! :)
These examples shows valid setups using PIA as provider for both docker run and docker-compose. Note that you should read some documentation at some point, but this is a good place to start.
$ docker run --cap-add=NET_ADMIN -d \ -v /your/storage/path/:/data \ -e OPENVPN_PROVIDER=PIA \ -e OPENVPN_CONFIG=france \ -e OPENVPN_USERNAME=user \ -e OPENVPN_PASSWORD=pass \ -e LOCAL_NETWORK=192.168.0.0/16 \ --log-driver json-file \ --log-opt max-size=10m \ -p 9091:9091 \ haugene/transmission-openvpn
version: '3.3' services: transmission-openvpn: cap_add: - NET_ADMIN volumes: - '/your/storage/path/:/data' environment: - OPENVPN_PROVIDER=PIA - OPENVPN_CONFIG=france - OPENVPN_USERNAME=user - OPENVPN_PASSWORD=pass - LOCAL_NETWORK=192.168.0.0/16 logging: driver: json-file options: max-size: 10m ports: - '9091:9091' image: haugene/transmission-openvpn
The full documentation is available at https://haugene.github.io/docker-transmission-openvpn/.
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 time. If you feel that you're getting a good tool and want to support it, there are a couple of options:
All donations are greatly appreciated! Another great way to contribute is of course through code. A big thanks to everyone who has contributed so far!