Sign inSign up

albertdixon/transmission

By albertdixon

•Updated over 9 years ago

Debian container running Transmission.

Image
8

3.3K

albertdixon/transmission repository overview

⁠Docker - Transmission

Docker Repository on Quay.io

Just a small Docker⁠ container running Transmission⁠ along with openvpn and Private Internet Access⁠. Includes transmission web control⁠ as an alternative to the base transmission web ui.

Owes a huge debt of gratitude to the fabulous work done by Scott Hansen⁠:

⁠Repos

quay.io⁠: quay.io/albertrdixon/transmission

docker⁠: albertdixon/transmission

⁠Usage

You must, at minimum:

  • Have a Private Internet Access⁠ account and provide your PIA username and password with the ENV vars PIA_USER and PIA_PASS.
  • Run your container with --priviledged (not advised) or --cap-add=NET_ADMIN
  • If you want to get to the web ui or the rpc interface you will need to proxy traffic to the container. Use something like jwilder's nginx-proxy⁠ or roll your own.
$ docker -d --cap-add=NET_ADMIN \
    -e PIA_USER=username -e PIA_PASS=mypassword \
    -v /storage/tv_shows:/downloads \
    albertdixon/transmission start

Transmission and Openvpn will set their home dirs - where all their configs and things will be - to /transmission and /transmission/openvpn respectively. So, if you want to persist things, just mount a local volume or data container volume to /transmission

You can also place custom config and openvpn files in the mounted volume and they will be respected. Transmission will look for /transmission/settings.json before creating it. Openvpn will look for /transmission/openvpn/pia.ovpn before creating / copying it.

$ docker -d --cap-add=NET_ADMIN \
    -e PIA_USER=username -e PIA_PASS=mypassword \
    -v /path/to/transmission:/transmission \
    -v /storage/tv_shows:/downloads \
    albertdixon/transmission start

PIA cert and key are at /certs/pia.crt and /certs/pia.pem

Completed torrent script is at /scripts/completed.sh. Overwrite it with your own if you like!

⁠Env Vars

Var NameDefault ValueDescription
PIA_USERnoneREQUIRED Your PIA login
PIA_PASSnoneREQUIRED Your PIA password
CACHE_SIZE50transmission cahce size in MB
CLEAN_FREQUENCY1800time in seconds between runs of torrent_cleaner.py
COMPLETED_SCRIPT/scripts/completed.shscript to run after torrent completed
COMPLETED_SCRIPT_ENABLEDfalseenable a script to run on torrent completion
CONGESTIONlpuse this congestion algorithm. Set to '' to use none
DOWNLOAD_DIR/downloadsdefault download directory
DOWNLOAD_QUEUE_ENABLEDtrueenable download queue?
DOWNLOAD_QUEUE_SIZE3size of download queue
ENABLE_CLEANERtrueenable automatic stalled / finished removal?
MESSAGE_LEVEL1Transmission message level. (0: None, 1: Error, 2: Info, 3: Debug)
OPEN_FILE_LIMIT32768open file limit. Make sure you have done appropriate tuning in your host kernel.
OPENVPN_GATEWAYca-toronto.privateinternetaccess.comPIA gateway server. This must be one with port forwarding enabled. More information⁠
OPENVPN_GATEWAY_PORT1194openvpn port. More information⁠
OPENVPN_HOME/transmission/openvpnopenvpn home directory
OPENVPN_LOG/dev/stderropenvpn writes logs here
OPENVPN_MUTE20openvpn will suppress duplicate messages.
OPENVPN_PROTOudpopenvpn protocol. More information⁠
OPENVPN_VERB3openvpn logging verbosity. More information⁠
PATH/usr/local/bin:$PATHobvious...
PEER_LIMIT_GLOBAL1200global peer limit
PEER_LIMIT_PER_TORRENT180peer limit per torrent
PEER_PORT51234initial peer port. This gets automatically updated by transmon
QUEUE_STALLED_ENABLEDtrueenable stalled torrent queue?
QUEUE_STALLED_MINUTES5place torrent in stalled queue if inactive for this many minutes
RATIO_LIMIT1default ratio
RATIO_LIMIT_ENABLEDtrueseed until torrent has reached the ratio limit?
RPC_AUTHENTICATION_REQUIREDfalserequire RPC authentication?
RPC_PASSWORDclientRPC password
RPC_PORT9091RPC port. If you change this make sure you expose the port.
RPC_USERNAMEclientRPC password
SEED_QUEUE_ENABLEDtrueenable queue for seeding torrents
SEED_QUEUE_SIZE2seed queue size
SPEED_LIMIT_DOWN5000download speed limit
SPEED_LIMIT_DOWN_ENABLEDfalseenable download speed limit?
SPEED_LIMIT_UP400upload speed limit
SPEED_LIMIT_UP_ENABLEDtrueenable upload speed limit?
SUPERVISOR_LOG_LEVELINFOlog level for supervisord
TRANSMISSION_HOME/transmissiontransmission home dir
TRANSMISSION_LOG_LEVELinfoone of debug, info, error
TRANSMISSION_WEB_HOME/webcustom transmission web interface. Attach your preferred one to this location (default is transmission-web-control⁠). Set this to '' for core transmission UI
TRANSMISSION_UID7000set to 0 to run transmission as root
TRANSMISSION_GID7000set to 0 to run transmission in the root group
TRANSMON_LOG_LEVELinfoone of debug, info, warn, error, fatal
UPLOAD_SLOTS_PER_TORRENT14upload slots per torrent
WATCH_DIR/torrentswatch dir for .torrent files
WATCH_DIR_ENABLEDfalseenable watch dir?

Tag summary

Content type

Image

Digest

sha256:05c8912a3…

Size

11.8 MB

Last updated

over 9 years ago

docker pull albertdixon/transmission