How to run Transmission torrent server on Linux server

This post is a quick tutorial on how to install and configure Transmission torrent client on Linux (Debian, Ubuntu) server in headless mode.

Create directory to store downloads:

Install transmission (run as root or with sudo):

Add your user to debian-transmission group (run as root or with sudo):

Setup correct permissions to Downloads folder, for starters I suggest setting 777:

As your user start transmission – this will generate basic configuration file (run this as your user):

Right after it starts, you can stop it (also run this as your user):

Substitute this file: ~/.config/transmission-daemon/settings.json with following content:

You should substitue following properties to match your own setup:

Both incomplete-dir and download-dir should point to the newly created directory. rpc-password should be set to long random value.
rpc-whitelist is a list of hosts that are allowed to view administrator interface over the browser, it should include the IP address of your local environment.
Alternatively if you don’t have a static IP address, then you should set rpc-username which will be used to authorize user on the WWW interface.

Start transmission-daemon (as your user), this time new configuration will be used.

Configure firewall, I have added following rules:

Visit web UI where you can add torrents for download: – transmission should be ready to serve there.