Transmission - n05urpr1532-MHA-Team/PTS-Team GitHub Wiki

Table of Contents

  1. Intro
  2. Access Information
  3. Setup
  4. Miscellaneous
  5. Summary

1. Intro

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.

You need to specify your provider and credentials with environment variables, as well as mounting volumes where the data should be stored. An example run command to get you going is provided below.

It also bundles an installation of Tinyproxy to also be able to proxy web traffic over your VPN, as well as scripts for opening a port for Transmission if you are using PIA or Perfect Privacy providers.

2. Access Information

This container has 2 access points: the Transmission Web UI and the Web Proxy (tinyproxy). The Web Proxy can only be accessed via the port and is intended to be used internally so other containers can also utalize the OpenVPN connection.

2a. Transmission Web UI

Protocol Address Notes
traefik** transmission:9091 Only for Internal App-to-App Communication
https transmission.domain.com Traefik must be Deployed; Remote Servers
http domain.com:9091 Poor Security Practice - Stop with PTS Port Guard
http ipv4:9091 Ideal Only for Local Servers

2b. Web Proxy (Tinyproxy)

Protocol Address Notes
traefik** transmission:8888 Only for Internal App-to-App Communication
https N/A Traefik must be Deployed; Remote Servers
http domain.com:8888 Poor Security Practice - Stop with PTS Port Guard
http ipv4:8888 Ideal Only for Local Servers

** Ideal for Apps to communicate between with one another. Click Here for more info!

3. Setup

There are 3 components associated with the Transmission deployment: VPN settings, Proxy settings and RSS settings. The VPN settings are required while the later 2 are optional.

3a. Transmission

After installing Transmission, VPN settings need to be configured. The container will not load without a valid openVPN config.

Using the Docker CLI or Portainer, set the following Environment variables:

Variable Value Example Notes
OPENVPN_PROVIDER List of providers availble here OPENVPN_PROVIDER=PIA Required
OPENVPN_CONFIG The VPN location to use (list) OPENVPN_CONFIG=DE Frankfurt default.opvn will be used if not set
OPENVPN_USERNAME Your VPN username OPENVPN_USERNAME=myname Required
OPENVPN_PASSWORD Your VPN password OPENVPN_PASSWORD=mypass Required
OPENVPN_OPTS Additional options to pass to the OpenVPN process OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60 Optional - The default value added will stop the container if the VPN loses connectivity.

3b. Web proxy

This container also contains a web-proxy server to allow you to tunnel your web-browser traffic through the same OpenVPN tunnel. This is useful if you are using a private tracker that needs to see you login from the same IP address you are torrenting from. The default listening port is 8888.

Variable Function Example Notes
WEBPROXY_ENABLED Enables the web proxy WEBPROXY_ENABLED=true Default: True
WEBPROXY_PORT Sets the listening port WEBPROXY_PORT=8888 If changing the port, the exposed container port must also be updated.

3c. RSS

To utilize the RSS plugin, please run the following lines of code to add RSS function:

sudo docker run -d \

-e "RSS_URL=https://yourRSSLINKHERE” \

-e “TRANSMISSION_DOWNLOAD_DIR=/mnt/downloads/transmission” \

--link transmission:transmission \

--name "transmissionrss" \

haugene/transmission-rss

For configuration examples, see the plug-in page.

4. Miscellaneous

Other customizations to the container include:

  • IP Blocklist by John Tyree (blocks the "bad guys")
  • "Transmission Web Control" Web UI by ronggang Can be changed to combustion or utekka in environment variables
  • Creates a TUN device if not available on the host (controlled by CREATE_TUN_DEVICE=true)
  • Torrent watch folder set to opt/appdata/transmission/watch (Disabled by Default - Enabled in settings or TRANSMISSION_WATCH_DIR_ENABLED=false)

5. Summary

The PTS Apps-Community Transmission container provides VPN-secured torrent downloads with the added bonus of a proxy which other containers can utalize.

For more information, including additional configuration options, see the offical GitHub project pages.