Cyril

Torrent | Transmission

  1. Docker container installation (For use on immutable OS)
  2. Traditional linux installation

Docker container installation

Setup the directory structure

mkdir -p /etc/transmission/config
mkdir -p /var/storage/watch

Create /etc/transmission/docker-compose.yml

Defines core transmission-server parameters
and maps host ports & directories to the container

---
services:
  transmission:
    image: lscr.io/linuxserver/transmission:latest
    container_name: transmission
    environment:
      - PUID=1000
      - PGID=100
      - TZ=America/Denver
      - TRANSMISSION_WEB_HOME= #optional
      - USER= #optional
      - PASS= #optional
      - WHITELIST=127.0.0.1,192.168.9.*
      - PEERPORT=51417
      - HOST_WHITELIST=dubserv
    volumes:
      - /etc/transmission/config:/config
      - /var/storage:/storage
      - /var/storage/watch:/watch
    ports:
      - 9091:9091
      - 51413:51413
      - 51413:51413/udp
    restart: unless-stopped

Create /etc/systemd/system/transmission.service unit file

so that transmission container is automatically launched at boot

[Unit]
Description=Service for Transmission container
Requires=docker.service
After=docker.service

[Service]
Type=oneshot
WorkingDirectory=/etc/transmission/
ExecStart=/usr/bin/docker-compose -f docker-compose.yml up -d
ExecStop=/usr/bin/docker-compose -f docker-compose.yml stop
StandardOutput=syslog
RemainAfterExit=yes

[Install]
WantedBy=default.target

Notes:

Traditional linux installation

192.168.9.13:9091 :: dubserv:9091 :: ref_Transmission_Docs_headless :: ref_Fedora-spec :: ref_ubuntu-inst ::


Installation:

Fedora:
dnf install transmission-cli transmission-daemon transmission-common

openSUSE:
zypper in transmission transmission-daemon

fire it up:
systemctl start transmission-daemon
systemctl enable transmission-daemon


Configuration:

!! stop service before changing any files !!
systemctl stop transmission-daemon

/var/lib/transmission/.config/transmission-daemon/settings.json:

"download-dir": "/storage/media/transmission/Downloads",
"incomplete-dir": "/storage/media/transmission/Downloads",
"rpc-host-whitelist": "dubserv",
"rpc-host-whitelist-enabled": true,
"rpc-whitelist": "127.0.0.1,192.168.9.*"

firewall
firewall-cmd --permanent --add-port=9091/tcp
firewall-cmd --reload
systemctl restart transmission-daemon

Transmission@client

server-ip:9091
server-hostname:9091

or use the remote client application:
transmission-remote-gtk