Sign inSign up

sol23/transmission-openvpn-rss

By sol23

•Updated almost 6 years ago

A combination of a transmission torrent client with added RSS functionality behind an OpenVPN

Image
1

497

sol23/transmission-openvpn-rss repository overview

⁠OpenVPN options

This is taken from the base image: https://github.com/haugene/docker-transmission-openvpn⁠

Docker container which runs Transmission torrent client with WebUI while connecting to OpenVPN. It bundles certificates and configurations for the following VPN providers:

Provider NameConfig Value
AnonineANONINE
BTGuardBTGUARD
CryptostormCRYPTOSTORM
FrootVPNFROOT
FrostVPNFROSTVPN
GiganewsGIGANEWS
HideMeHIDEME
HideMyAssHIDEMYASS
IntegrityVPNINTEGRITYVPN
IPVanishIPVANISH
IvacyIVACY
IVPNIVPN
NewshostingNEWSHOSTING
NordVPNNORDVPN
OVPNOVPN
Private Internet AccessPIA
PrivateVPNPRIVATEVPN
PureVPNPUREVPN
RA4W VPNRA4W
SlickVPNSLICKVPN
SmartVPNSMARTVPN
TigerVPNTIGER
TorGuardTORGUARD
UsenetServerVPNUSENETSERVER
WindscribeWINDSCRIBE
VPN.htVPNHT
VPNBook.comVPNBOOK
VyprVpnVYPRVPN
When using PIA as provider it will update Transmission hourly with assigned open port. Please read the instructions below.

⁠Run container from Docker registry

The container is available from the Docker registry and this is the simplest way to get it. To run the container use this command:

$ docker run --privileged  -d \
              -v /your/storage/path/:/data \
              -v /etc/localtime:/etc/localtime:ro \
              -e "OPENVPN_PROVIDER=PIA" \
              -e "OPENVPN_CONFIG=Netherlands" \
              -e "OPENVPN_USERNAME=user" \
              -e "OPENVPN_PASSWORD=pass" \
              -p 9091:9091 \
              sol23/transmission-openvpn-rss

You must set the environment variables OPENVPN_PROVIDER, OPENVPN_USERNAME and OPENVPN_PASSWORD to provide basic connection details.

The OPENVPN_CONFIG is an optional variable. If no config is given, a default config will be selected for the provider you have chosen. Find available OpenVPN configurations by looking in the openvpn folder of the GitHub repository.

As you can see, the container also expects a data volume to be mounted. This is where Transmission will store your downloads, incomplete downloads and look for a watch directory for new .torrent files. By default a folder named transmission-home will also be created under /data, this is where Transmission stores its state.

⁠Required environment options
VariableFunctionExample
OPENVPN_PROVIDERSets the OpenVPN provider to use.OPENVPN_PROVIDER=provider. Supported providers and their config values are listed in the table above.
OPENVPN_USERNAMEYour OpenVPN usernameOPENVPN_USERNAME=asdf
OPENVPN_PASSWORDYour OpenVPN passwordOPENVPN_PASSWORD=asdf
⁠Network configuration options
VariableFunctionExample
OPENVPN_CONFIGSets the OpenVPN endpoint to connect to.OPENVPN_CONFIG=UK Southampton
OPENVPN_OPTSWill be passed to OpenVPN on startupSee OpenVPN doc⁠
LOCAL_NETWORKSets the local network that should have access.LOCAL_NETWORK=192.168.0.0/24
⁠Transmission configuration options

You may override transmission options by setting the appropriate environment variable.

The environment variables are the same name as used in the transmission settings.json file and follow the format given in these examples:

Transmission variable nameEnvironment variable name
speed-limit-upTRANSMISSION_SPEED_LIMIT_UP
speed-limit-up-enabledTRANSMISSION_SPEED_LIMIT_UP_ENABLED
ratio-limitTRANSMISSION_RATIO_LIMIT
ratio-limit-enabledTRANSMISSION_RATIO_LIMIT_ENABLED

As you can see the variables are prefixed with TRANSMISSION_, the variable is capitalized, and - is converted to _.

PS: TRANSMISSION_BIND_ADDRESS_IPV4 will be overridden to the IP assigned to your OpenVPN tunnel interface. This is to prevent leaking the host IP.

⁠User configuration options

By default everything will run as the root user. However, it is possible to change who runs the transmission process. You may set the following parameters to customize the user id that runs transmission.

VariableFunctionExample
PUIDSets the user id who will run transmissionPUID=1003
PGIDSets the group id for the transmission userPGID=1003

⁠RSS options

The following configuration file example contains every existing option It uses the transmission RSS tool: https://github.com/nning/transmission-rss⁠

The config.yml file needs to be located at /data/transmission-rss/config.yml

feeds:
  - url: http://example.com/feed1
  - url: http://example.com/feed2
  - url: http://example.com/feed3
    regexp: match1
  - url: http://example.com/feed4
    regexp: (match1|match2)
  - url: http://example.com/feed4
    download_path: /home/user/Downloads
  - url: http://example.com/feed4
    seed_ratio_limit: 1
  - url: http://example.com/feed4
    regexp:
      - match1
      - match2
  - url: http://example.com/feed5
    regexp:
      - matcher: match1
        download_path: /home/user/match1
      - matcher: match2
        download_path: /home/user/match2

update_interval: 600

add_paused: false

Tag summary

Content type

Image

Digest

Size

117.2 MB

Last updated

almost 6 years ago

docker pull sol23/transmission-openvpn-rss