Skip to content

Instantly share code, notes, and snippets.

@lhanson
Created August 2, 2020 16:18
Show Gist options
  • Save lhanson/6053038d3601b518297050ab8a45a75e to your computer and use it in GitHub Desktop.
Save lhanson/6053038d3601b518297050ab8a45a75e to your computer and use it in GitHub Desktop.
Containerized always-vpn'd Transmission daemon
OPENVPN_PROVIDER={{ openvpn_provider }}
OPENVPN_CONFIG={{ openvpn_config }}
OPENVPN_USERNAME={{ openvpn_username }}
OPENVPN_PASSWORD={{ openvpn_password }}
OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60
PUID={{ transmission_uid }}
PGID={{ shared_media_gid }}
# Directory where completed torrent downloads are located
TRANSMISSION_DOWNLOAD_DIR=/media/incoming
TRANSMISSION_HOME=/media/transmission
TRANSMISSION_INCOMPLETE_DIR_ENABLED=true
# Directory where in-progress downloads are located
TRANSMISSION_INCOMPLETE_DIR=/media/transmission/incomplete
TRANSMISSION_LPD_ENABLED=true
TRANSMISSION_BLOCKLIST_ENABLED=true
TRANSMISSION_BLOCKLIST_URL=http://john.bitsurge.net/public/biglist.p2p.gz
TRANSMISSION_RPC_AUTHENTICATION_REQUIRED=true
TRANSMISSION_RPC_USERNAME={{ transmission_rpc_username }}
TRANSMISSION_RPC_PASSWORD={{ transmission_rpc_password }}
TRANSMISSION_PEER_LIMIT_GLOBAL=2000
TRANSMISSION_MAX_PEERS_GLOBAL=2000
TRANSMISSION_PEER_LIMIT_PER_TORRENT=500
#TRANSMISSION_WEB_UI=combustion
#TRANSMISSION_WATCH_DIR=/torrents/incomplete/watch
#TRANSMISSION_WATCH_DIR_ENABLED=true
#ENABLE_UFW=false
#UFW_ALLOW_GW_NET=false
#UFW_EXTRA_PORTS=
#UFW_DISABLE_IPTABLES_REJECT=false
#GLOBAL_APPLY_PERMISSIONS=true
#TRANSMISSION_ALT_SPEED_DOWN=50
#TRANSMISSION_ALT_SPEED_ENABLED=false
#TRANSMISSION_ALT_SPEED_TIME_BEGIN=540
#TRANSMISSION_ALT_SPEED_TIME_DAY=127
#TRANSMISSION_ALT_SPEED_TIME_ENABLED=false
#TRANSMISSION_ALT_SPEED_TIME_END=1020
#TRANSMISSION_ALT_SPEED_UP=50
#TRANSMISSION_BIND_ADDRESS_IPV4=0.0.0.0
#TRANSMISSION_BIND_ADDRESS_IPV6=::
#TRANSMISSION_CACHE_SIZE_MB=4
#TRANSMISSION_DHT_ENABLED=true
#TRANSMISSION_DOWNLOAD_LIMIT=100
#TRANSMISSION_DOWNLOAD_LIMIT_ENABLED=0
#TRANSMISSION_DOWNLOAD_QUEUE_ENABLED=true
#TRANSMISSION_DOWNLOAD_QUEUE_SIZE=5
#TRANSMISSION_ENCRYPTION=1
#TRANSMISSION_IDLE_SEEDING_LIMIT=30
#TRANSMISSION_IDLE_SEEDING_LIMIT_ENABLED=false
#TRANSMISSION_MESSAGE_LEVEL=2
#TRANSMISSION_PEER_CONGESTION_ALGORITHM=
#TRANSMISSION_PEER_ID_TTL_HOURS=6
#TRANSMISSION_PEER_PORT=51413
#TRANSMISSION_PEER_PORT_RANDOM_HIGH=65535
#TRANSMISSION_PEER_PORT_RANDOM_LOW=49152
#TRANSMISSION_PEER_PORT_RANDOM_ON_START=false
#TRANSMISSION_PEER_SOCKET_TOS=default
#TRANSMISSION_PEX_ENABLED=true
#TRANSMISSION_PORT_FORWARDING_ENABLED=false
#TRANSMISSION_PREALLOCATION=1
#TRANSMISSION_PREFETCH_ENABLED=1
#TRANSMISSION_QUEUE_STALLED_ENABLED=true
#TRANSMISSION_QUEUE_STALLED_MINUTES=30
#TRANSMISSION_RATIO_LIMIT=2
#TRANSMISSION_RATIO_LIMIT_ENABLED=false
#TRANSMISSION_RENAME_PARTIAL_FILES=true
#TRANSMISSION_RPC_BIND_ADDRESS=0.0.0.0
#TRANSMISSION_RPC_ENABLED=true
#TRANSMISSION_RPC_HOST_WHITELIST=
#TRANSMISSION_RPC_HOST_WHITELIST_ENABLED=true
#TRANSMISSION_RPC_PORT=9091
#TRANSMISSION_RPC_URL=/transmission/
#TRANSMISSION_RPC_WHITELIST=127.0.0.1
#TRANSMISSION_RPC_WHITELIST_ENABLED=false
#TRANSMISSION_SCRAPE_PAUSED_TORRENTS_ENABLED=true
#TRANSMISSION_SCRIPT_TORRENT_DONE_ENABLED=false
#TRANSMISSION_SCRIPT_TORRENT_DONE_FILENAME=
#TRANSMISSION_SEED_QUEUE_ENABLED=false
#TRANSMISSION_SEED_QUEUE_SIZE=10
#TRANSMISSION_SPEED_LIMIT_DOWN=100
#TRANSMISSION_SPEED_LIMIT_DOWN_ENABLED=false
#TRANSMISSION_SPEED_LIMIT_UP=100
#TRANSMISSION_SPEED_LIMIT_UP_ENABLED=false
#TRANSMISSION_START_ADDED_TORRENTS=true
#TRANSMISSION_TRASH_ORIGINAL_TORRENT_FILES=false
#TRANSMISSION_UMASK=2
#TRANSMISSION_UPLOAD_SLOTS_PER_TORRENT=14
#TRANSMISSION_UTP_ENABLED=true
#TRANSMISSION_WATCH_DIR_FORCE_GENERIC=false
#WEBPROXY_ENABLED=false
#WEBPROXY_PORT=8888
#!/bin/sh
# Start the transmission container
docker run --cap-add=NET_ADMIN \
--detach \
--dns 1.1.1.1 --dns 1.0.0.1 \
--volume /media/incoming:/media/incoming \
--volume /media/transmission:/media/transmission \
--volume /media/tv:/media/tv:ro \
--volume /media/movies:/media/movies:ro \
--volume /mnt/formula1:/media/formula1 \
--volume /etc/localtime:/etc/localtime:ro \
--env-file /home/transmission/transmission.env \
--log-opt max-size=10m \
--publish 9091:9091 \
--device=/dev/net/tun \
--name=transmission \
--restart=always \
haugene/transmission-openvpn
# Start the WebUI proxy (http://haugene.github.io/docker-transmission-openvpn/access/)
docker run --detach \
--link=transmission \
--publish 8080:8080 \
--restart=always \
--name=transmission-proxy \
haugene/transmission-openvpn-proxy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment