Transmission 4.0.0 3rd party web-ui options and install

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 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.

  1. 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.

  2. 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 ( 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'
    image: linuxserver/transmission:latest
      PUID: "1000"
      PGID: "1000"
      TZ: "America/Denver"
      TRANSMISSION_WEB_HOME: /config/flood-for-transmission/
      USER: "username"
      PASS: "Password"
      - config:/config
      - /home/allen/Downloads/transmission:/downloads
      - /home/allen/Downloads/watch:/watch
      - "9091:9091"
      - "51413:51413"
      - "51413:51413/udp"
    restart: unless-stopped

One additional note. The linuxserver/transmission image was released on the 15th of February and does still have a few bugs that have been fixed. Most noticeable of these is that when adding a torrent through a magnet link torrents do not automatically start downloading even if you have that options set. It will download the metadata but the torrent will then go into Stop mode and await the Start command. This is fixed in the latest Transmission code along with a few other bugs, so we will all just have to wait for the folks to update there image.