All apps · 0 apps
Transmission_VPN
Docker app from clowrym's Repository
Overview
This Docker includes OpenVPN to ensure a secure and private connection to the Internet, including use of iptables to prevent IP leakage when the tunnel is down. It also includes Privoxy to allow unfiltered access to index sites, to use Privoxy please point your application at "host ip:8118"
Configuration
/config This is where Transmission will store it's configuration file, database and logs.
/data This is where Transmision will store data downloaded, watched folder, and archived torrents.
Notes
For help on configuration for PIA, AirVPN and custom VPN providers please go here http://lime-technology.com/forum/index.php?topic=45812.msg437678#msg437678
IMPORTANT - To allow access to the Transmission webui, Privoxy and Transmission deamon you need to specify you LAN network, using CIDR notation for the mask, a subnet mask of 255.255.255.0 would equate to CIDR /24, 255.255.0.0 would equate to CIDR /16.
Readme
View on GitHubOpenVPN and Transmission with WebUI
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.
Read this first
The documentation for this image is hosted on GitHub pages:
https://haugene.github.io/docker-transmission-openvpn/
If you can't find what you're looking for there, please have a look in the discussions as we're trying to use that for general questions.
If you have found what you believe to be an issue or bug, create an issue and provide enough details for us to have a chance to reproduce it or understand what's going on. NB: Be sure to search for similar issues (open and closed) before opening a new one.
Quick Start
These examples show valid setups using PIA as the 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
$ docker run --cap-add=NET_ADMIN -d \
-v /your/storage/path/:/data \
-v /your/config/path/:/config \
-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
Podman run
Beware: container is run as privileged, meaning it has full access to host OS.
$ podman run --privileged -d \
-v /your/storage/path/:/data \
-v /your/config/path/:/config \
-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 k8s-file \
--log-opt max-size=10m \
-p 9091:9091 \
haugene/transmission-openvpn
Docker version 3.x Compose
version: '3.3'
services:
transmission-openvpn:
cap_add:
- NET_ADMIN
volumes:
- '/your/storage/path/:/data'
- '/your/config/path/:/config'
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
Docker version 2.x Compose
version: "2.0"
services:
transmission-openvpn:
container_name: transmission
cap_add:
- NET_ADMIN
volumes:
- '/your/storage/path/:/data'
- '/your/config/path/:/config'
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
Known issues
If you've been running a stable setup that has recently started to fail, please check your logs.
Are you seeing curl: (6) getaddrinfo() thread failed to start or WARNING: initial DNS resolution test failed?
Then have a look at #2410
and this comment
in particular. There is a fix and a workaround available.
Image versioning
We aim to create periodic fixed releases with a semver versioning scheme.
The latest of the tagged fixed releases will also have the latest tag.
A semver release will be tagged with major, major.minor and major.minor.patch versions so that you can lock
the version at either level.
We also have a tag called edge which will always be the latest commit on master, and dev which is the last commit on the dev branch.
From time to time we can also have various beta branches and tags, but using either dev or beta tags is probably not for the average user
and you should expect there to be occasional breakage or even the deletion of the tags upstream.
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 take time. If you feel that you're getting a good tool and want to support it, there are a couple of options:
A small montly amount through
or
a one time donation with
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!
Install Transmission_VPN on Unraid in a few clicks.
Find Transmission_VPN in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Download Statistics
Total Downloads Over Time
Related apps
Explore more like this
Explore allLinks
Details
haugene/transmission-openvpn:devRuntime arguments
- Web UI
http://[IP]:[PORT:9091]/- Network
bridge- Shell
sh- Privileged
- true
- Extra Params
--cap-add=NET_ADMIN --restart=unless-stopped --log-opt max-size=50m --log-driver json-file --dns 8.8.8.8 --dns 1.1.1.1
Template configuration
Container Port: 9091
- Target
- 9091
- Default
- 9091
- Value
- 9091
Container Path: /data
- Target
- /data
- Default
- path for downloads
- Value
- /mnt/user/T_Media/Torrent/
Container Variable: OPENVPN_USERNAME
- Target
- OPENVPN_USERNAME
- Default
- vpn username
- Value
- VPN_USER
Container Variable: VPN_PASSWORD
- Target
- OPENVPN_PASSWORD
- Default
- vpn password
- Value
- VPN_PASSWORD
OPENVPN_CONFIG
- Default
- au_melbourne|au_sydney|brazil|ca_north_York|ca_toronto|denmark|finland|france|germany|hong_kong|india|ireland|israel|italy|japan|mexico|netherlands|new_zealand|norway|romania|singapore|sweden|switzerland|turkey|uk_london|uk_southampton|us_california|us_east|us_florida|us_midwest|us_new_york_city|us_seattle|us_silicon_valley|us_texas|us_west|default|
- Value
- switzerland
Container Variable: OPENVPN_PROVIDER
- Default
- ANONINE|BTGUARD|CRYPTOSTORM|CUSTOM|FROOT|FROSTVPN|GIGANEWS|HIDEME|HIDEMYASS|INTEGRITYVPN|IPREDATOR|IPVANISH|IVACY|IVPN|NEWSHOSTING|NORDVPN|OVPN|PIA|PRIVATEVPN|PRIVADO|PROXPN|PUREVPN|RA4W|SLICKVPN|SMARTVPNTIGER|TORGUARD|TUNNELBEAR|USENETSERVER|WINDSCRIBE|VPNHT|VPNBOOK|VPNTUNNEL|VPNUNLIMITED|VYPRVPN|
- Value
- PIA
Container Variable: LOCAL_NETWORK
- Value
- 192.168.0.0/24
Container Variable: RPC_USERNAME
- Target
- TRANSMISSION_RPC_USERNAME
- Default
- admin
- Value
- TRANS_USER
Container Variable: RPC_PASSWORD
- Target
- TRANSMISSION_RPC_PASSWORD
- Default
- password
- Value
- TRANS_PASSWORD
--inactive 3600 --ping 10 --ping-exit 60 --restart=always
- Target
- OPENVPN_OPTS
- Value
- --inactive 3600 --ping 10 --ping-exit 60 --mute-replay-warnings
Container Variable: PUID
- Value
- 99
Container Variable: PGID
- Value
- 100
Container Path: /downloads
- Target
- /downloads
- Value
- /mnt/user/T_Media/Torrent/
Container Path: /watch
- Target
- /watch
- Default
- /mnt/user/T_Media/Torrent/watch/
- Value
- /mnt/user/T_Media/Torrent/watch/
Container Variable: TRANSMISSION_DOWNLOAD_DIR
- Target
- TRANSMISSION_DOWNLOAD_DIR
- Value
- /downloads
Container Variable: TRANSMISSION_RPC_AUTHENTICATION_REQUIRED
- Default
- true|false
- Value
- true
Enable Ratio Limits
- Target
- TRANSMISSION_RATIO_LIMIT_ENABLED
- Default
- true|false
- Value
- true
Container Variable: TRANSMISSION_DOWNLOAD_QUEUE_SIZE
- Default
- 10
- Value
- 15
Container Variable: TRANSMISSION_CACHE_SIZE_MB
- Default
- 10
- Value
- 10
Container Variable: TRANSMISSION_INCOMPLETE_DIR
- Default
- /downloads/incomplete
- Value
- /downloads/incomplete
Container Path: /mnt/user/T_Media/Torrent/
- Target
- /mnt/user/T_Media/Torrent/
- Default
- /mnt/user/T_Media/Torrent/
- Value
- /mnt/user/T_Media/Torrent/
Web UI Options
- Target
- TRANSMISSION_WEB_UI
- Default
- transmission-web-control|kettu|combustion
- Value
- transmission-web-control
Apply permsissions Globally on Transmissions files / Folders
- Default
- true|false
- Value
- false
Container Path: WEBPROXY_ENABLED
- Target
- WEBPROXY_ENABLED
- Default
- false
- Value
- false
testing openvpn-tcp-nextgen
- Target
- PIA_OPENVPN_CONFIG_BUNDLE
- Default
- openvpn-tcp|openvpn|openvpn-strong|openvpn-strong-tcp
- Value
- openvpn-tcp