Transmission - jgalat/remote-app GitHub Wiki

Transmission

Transmission is a lightweight, cross-platform BitTorrent client. Remote connects to the Transmission daemon via its RPC interface.

Installation

You need to install the Transmission daemon (headless version) on the machine that will download torrents. GUI versions of Transmission also expose the RPC interface and can be used with the app.

Linux packages

Docker

The LinuxServer.io Transmission image is a popular choice:

services:
  transmission:
    image: lscr.io/linuxserver/transmission:latest
    container_name: transmission
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - USER=username
      - PASS=password
    volumes:
      - /path/to/config:/config
      - /path/to/downloads:/downloads
    ports:
      - 9091:9091
      - 51413:51413
      - 51413:51413/udp
    restart: unless-stopped

Configuration

Transmission's settings are stored in settings.json, typically located at ~/.config/transmission-daemon/settings.json or /config/settings.json inside Docker containers.

Important: Stop the Transmission daemon before editing settings.json. The daemon writes settings on shutdown and will overwrite your changes if it is running.

Enabling RPC access

The RPC interface must be enabled for the app to connect. Key settings:

{
  "rpc-enabled": true,
  "rpc-port": 9091,
  "rpc-url": "/transmission/",
  "rpc-authentication-required": true,
  "rpc-username": "your-username",
  "rpc-password": "your-password",
  "rpc-whitelist-enabled": false
}
Setting Description
rpc-enabled Must be true for the app to connect
rpc-port Port for RPC connections (default: 9091)
rpc-url Base URL path (default: /transmission/). The RPC endpoint will be at this path plus rpc
rpc-authentication-required Set to true and configure a username and password
rpc-username Username for authentication
rpc-password Password for authentication. Transmission will hash this on first startup
rpc-whitelist-enabled IP whitelist. Set to false if connecting from outside the local network, or add your IP to rpc-whitelist

Remote access

If connecting from outside your local network, you will need to either:

  • Port forward port 9091 (or your chosen RPC port) on your router to the machine running Transmission
  • Use a reverse proxy (e.g., Nginx, Caddy) to expose the RPC endpoint over HTTPS
  • Use a VPN (e.g., WireGuard, Tailscale) to access your local network remotely

Using HTTPS with a reverse proxy or VPN is recommended for security when accessing over the internet.

For more detailed configuration guides, see the Arch Wiki or LinuxServer.io docs.