Giter VIP home page Giter VIP logo

docker-transmission's Introduction

Docker Bittorent Transmission

Build Status

This image contains an instance of Transmission client. This project was inspired from this project and rewrited to provide most of the configuration with ENV variables.

โš ๏ธ Take care of the changelogs because some breaking changes may happend between versions.

Supported tags and respective Dockerfile links

Docker Informations

  • This image exposes the following ports
Port Usage
9091 HTTP Web UI
51413/tcp 51413/udp Peering port
  • This image takes theses environnements variables as parameters
Environment Type Usage
TZ String Set the timezone
  • This volume is bind on this image
Volume Usage
/config Store configuration and torrents stats files
/downloads Path where the torrent's content will be put
/watch Watch folder to allow automatic .torrent loading

Features

Securing the webui with a username/password.

this requires 3 settings to be changed in the settings.json file.

Make sure the container is stopped before editing these settings.

"rpc-authentication-required": true, - check this, the default is false, change to true.

"rpc-username": "transmission", substitute transmission for your chosen user name, this is just an example.

rpc-password will be a hash starting with {, replace everything including the { with your chosen password, keeping the quotes.

Transmission will convert it to a hash when you restart the container after making the above edits.

Updating Blocklists Automatically

You can configure an external cron job to update automatically the blocklists. This requires "blocklist-enabled": true, to be set. By setting this to true, it is assumed you have also populated blocklist-url with a valid block list.

The automatic update is a shell script that downloads a blocklist from the url stored in the settings.json, gunzips it, and restarts the transmission daemon.

0 3 * * * root docker ps | grep --quiet 'transmission$' && docker exec --user transmission transmission /opt/transmission/blocklist-update.sh

Notification by mails for done torrents

A notification script is included into this container. This script is run each times a Torrent has finished to be downloaded. By default it is able to send a mail but you can edit it to make something else. You can activate in by simply configure at least the following environment variables into your container

Name of the value Type Description
SMTP_SERVER hostname/adress The address of the smtp server
MAIL_FROM string The email address of the sender of the email
MAIL_TO string The semi-colon separated list of recipient emails address(es)

The following parameters are optionnal, they depends of your configuration needs

Name of the value Type Description
SMTP_PORT int The SMTP port of the server (default to 25)
SMTP_USERNAME string The optionnal login username to authenticate against the email server
SMTP_PASSWORD string The optionnal login password to authenticate against the email server
SMTP_SSL bool(yes/no) Enable SSL connection to the email server
SMTP_STARTTLS bool(yes/no) Enable STARTTLS mode for connection to the email server
MAIL_SUBJECT string The subject's string of the email

You can include any other environment variable that will be available in the mail body of the notification script (localised into /config/mail-notification.py)

Installation

docker pull turgon37/transmission

Usage

docker run -p 80:9091 turgon37/transmission

Docker-compose Specific configuration examples

  • Simple docker-compose setting with smtp configuration
services:
  transmission:
    image: turgon37/transmission
    environment:
      - SMTP_SERVER=10.0.0.1
      - [email protected]
      - [email protected]
    ports:
      - "127.0.0.1:8002:51413:51413/tcp"
      - "127.0.0.1:8002:51413:51413/udp"
      - "127.0.0.1:8001:9091/tcp"
    volumes:
      - data-transmission:/config
      - data-transmission-download:/downloads/complete"
      - data-transmission-incomplete:/downloads/incomplete"
      - data-transmission-watch:/watch"
volumes:
  data-transmission:
  data-transmission-download:
  data-transmission-incomplete:
  data-transmission-watch:

docker-transmission's People

Contributors

turgon37 avatar

Watchers

 avatar  avatar

Forkers

massinger

docker-transmission's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.