The Transmission bit torrent client recently released their 4.0.0 version. While there are installable applications for Windows, MAC, and Linux there are also other flavors available on their site.
However, one of the most popular ways to use Transmission is via a Docker container. There are several popular versions available on Docker Hub that incorporate the Transmission base. One of the most popular is from Linuxserver.io available here: Docker
In the 3.0 version of the Transmission base it came packaged with several 3rd Party Web User Interfaces to choose from. E.g. Dark Hive and Combustion. The updated 4.0.0 version does not come with any 3rd party UIs installed and the environment variable TRANSMISSION_WEB_HOME that calls out a third party UI, upon upgrade to 4.0.0, will give a page with the following message.
There are two ways to fix this.
Remove the TRANSMISSION_WEB_HOME variable and restart the container. This will give you the default web-ui that is built into Transmission. However, it is severely lacking in details. Such as the option to show how much time is left before a torrent is complete.
Install a 3rd party web-ui that you download from github. 3 options are detailed below with links to github for the files. And after the options are the install instructions.
3rd Party UI Options:
A. Flood for Transmission: GitHub - johman10/flood-for-transmission: A Flood (https://github.com/Flood-UI/flood) clone for Transmission
My personal favorite of the options. Great look and great features/options.
B. Transmissionic: GitHub - 6c65726f79/Transmissionic: Remote for Transmission Daemon
My second personal favorite. Probably better suited for Mobile phone use than Flood.
C. Shift: GitHub - killemov/Shift: A minimalistic approach to maximum control of your Transmission. (Web UI)
A very minimalist approach to a UI, has several CSS options you can try that change the colors. The default is a white mode, where I prefer dark mode.
How to install:
If you are using docker-compose, Portainer stack, or the generic start line… You just have to call out the right location inside the config volume you’re using to have it work correctly.
Docker can use Docker Volumes or Bind mounts to store the config data so that it is not lost when you updated the image/container. Wherever your config/config leads to, unzip the files from github for the UI that you want to use into a folder right at the /config level. If you use a Docker volume the /docker folder and subfolders are protected and require root access. My Ubuntu GUI asked for my root password to allow access, and in the CLI you can use the command “sudo su” to switch to root if your setup is similar to mine where my user is also root.
The location for Docker Volumes is /var/lib/docker/volumes/ my Portainer stack called “transmission” created a Volume called “transmission_config” so my config folder where I needed to create the new UI folders is located at /var/lib/docker/volumes/transmission_config/_data.
Here is my Portainer Stack config that gets deployed via docker compose for reference:
version: '3.9' services: transmission: image: linuxserver/transmission:latest environment: PUID: "1000" PGID: "1000" TZ: "America/Denver" TRANSMISSION_WEB_HOME: /config/flood-for-transmission/ USER: "username" PASS: "Password" volumes: - config:/config - /home/allen/Downloads/transmission:/downloads - /home/allen/Downloads/watch:/watch ports: - "9091:9091" - "51413:51413" - "51413:51413/udp" restart: unless-stopped volumes: config: