Sign inSign up

jbg77/openvpn-rtorrent-flood

By jbg77

•Updated about 8 years ago

For my own use

Image
0

914

jbg77/openvpn-rtorrent-flood repository overview

⁠Docker-flood-ovpn

Inspired by github.com/haugene/docker-transmission-openvpn/⁠

Torrenting container running rtorrent⁠+flood⁠ with OpenVPN. Unlike haugene's docker, a .ovpn config file has to be provided on your own if you want to use vpn.

⁠Environment variables
⁠OpenVPN
VariableComment
OVPN_CONFIGIs the config file you will use to connect on vpn, it is required for openvpn. It must be placed in the /config volume. Otherwise it will run without vpn
OVPN_LOGINTo authenticate. If not specified it will try to connect without authentication
OVPN_PASSWORDSame as OVPN_LOGIN
⁠flood
VariableComment
FLOOD_BASE_URIIs root by default
FLOOD_SECRETChange it!!
FLOOD_ENABLE_SSL(I haven't tried actually). Must be placed in the /config volume
⁠rtorrent
VariableComment
RTORRENT_DOWNLOAD_RATETo set download limit at launch
RTORRENT_UPLOAD_RATETo set upload limit at launch
⁠Owner

These variables are to fit permissions' volumes between host and container

VariableComment
UIDTo set the user id. It's root (0) by default
GIDTo set the group id. It's root (0) by default
⁠Volumes
  • /data : Torrents' downloads
  • /config : Flood's db and config files (.ovpn, cert, key)
⁠Example
⁠Run
docker run \
    --rm -ti \
    --name seedwhale \
    --cap-add=NET_ADMIN \
    --device=/dev/net/tun \   
    --dns 8.8.8.8 --dns 8.8.4.4 \
    -v /opt/flood/data:/data \
    -v /opt/flood/config/:/config \
    -e OVPN_LOGIN="user" \
    -e OVPN_PASSWORD="password" \
    -e UID=1234 \
    -e GID=1234 \
    -e OVPN_CONFIG="file.ovpn" \
    -e FLOOD_SECRET="such-wow-secret" \
    -e RTORRENT_DOWNLOAD_RATE=1000 \
    -e RTORRENT_UPLOAD_RATE=500 \
    -d \
    tweelon/flood-openvpn
⁠Notes:
  • --privileged is necessary to make openvpn works. Replaced by --cap-add=NET_ADMIN --device=/dev/net/tun to be less exposed.
  • --dns perhaps too. See this⁠.
  • You may not access to the container even with -p 3000:3000 because of the VPN. This is why we need a proxy. See this⁠ for further details.
⁠Run proxy
docker run \
    --rm -ti \
    --name ovpn-proxy \
    --link seedwhale:flood \
    -p 8080:8080 \
    -d \
    tweelon/flood-proxy

Once you've run the main container and the proxy container, you can now access to http://localhost:8080⁠

⁠Post-deployment

You can watch what's going on inside the container by running:

  • docker exec -it seedwhale bash
  • screen -ls To list screen sessions
  • script /dev/null
  • screen -r rtorrent or screen -r flood or screen -r openvpn
⁠Stuff todo
  • docker-compose
  • complete docs
  • remove unnecessary stuff
  • migrate to alpine
  • gitgud
  • make torrenting free again

Tag summary

Content type

Image

Digest

Size

527.3 MB

Last updated

about 8 years ago

docker pull jbg77/openvpn-rtorrent-flood