Based on LinuxServer.io, with the addition of nzbToMedia and a cronbased finished downloads cleanup script.
Transmission is designed for easy, powerful use. Transmission has the features you want from a BitTorrent client: encryption, a web interface, peer exchange, magnet links, DHT, µTP, UPnP and NAT-PMP port forwarding, webseed support, watch directories, tracker editing, global and per-torrent speed limits, and more. Transmission
$ docker create --name=transmission \
-v <path to data>:/config \
-v <path to downloads>:/downloads \
-v <path to watch folder>:/watch \
-v <path to nzbtomedia config>:/nzbtomedia
-e PGID=<gid> -e PUID=<uid> \
-e TZ=<timezone> \
-p 9091:9091 -p 51413:51413 \
-p 51413:51413/udp \
supmagc/transmission
The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side. For example with a port -p external:internal - what this shows is the port mapping from internal to external of the container. So -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080 http://192.168.x.x:8080 would show you what's running INSIDE the container on port 80.
-p 9091
-p 51413
- the port(s)-v /config
- where transmission should store config files and logs-v /downloads
- local path for downloads-v /watch
- watch folder for torrent files-v /nzbtomedia
- local path for the nzbToMedia config files-e PGID
for GroupID - see below for explanation-e PUID
for UserID - see below for explanation-e TZ
for timezone information, eg Europe/London
It is based on alpine linux with s6 overlay, for shell access whilst the container is running do docker exec -it transmission /bin/bash
.
Sometimes when using data volumes (-v
flags) permissions issues can arise between the host OS and the container. We avoid this issue by allowing you to specify the user PUID
and group PGID
. Ensure the data volume directory on the host is owned by the same user you specify and it will "just work" ™.
In this instance PUID=1001
and PGID=1001
. To find yours use id user
as below:
$ id <dockeruser>
uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
Webui is on port 9091, the settings.json file in /config has extra settings not available in the webui. Stop the container before editing it or any changes won't be saved.
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.
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.
You'll have to edit the scripts.cfg
in the /config folder for these to work.
- To monitor the logs of the container in realtime
docker logs -f transmission
. - container version number
docker inspect -f '{{ index .Config.Labels "build_version" }}' transmission
- image version number
docker inspect -f '{{ index .Config.Labels "build_version" }}' supmagc/transmission