TransmissionLet’s say you have a computer (could be your home file server) on which you want to install a torrent client as daemon (command line), and manage it through a Web interface. Would be great, right? It’s pretty easy to achieve but there are a couple of details you need to pay attention to.

Note: This tutorial was written for Ubuntu Server 12.04 but it doesn’t mean it can’t be useful for other versions or distros.

Required packages

It’s pretty simple as only a couple of packages need to be installed, and they are already in the repositories. For readability, I’m putting each of them on a different line, but they should all go on the same.

sudo apt-get install transmission-cli

Create folders for Transmission

Even if you could always use the default folders, I like keeping track of everything, the way I want it. So here’s what I’ve done. I think the folder names talk by themselves.

sudo mkdir ~/transmission
sudo mkdir ~/transmission/complete
sudo mkdir ~/transmission/downloading
sudo mkdir ~/transmission/torrents


This step isn’t crucial, but it will save you lots of “sudo” commands in the future. By default, Transmission always gives downloaded files permissions to the transmission group (debian-transmission to be more precise). This is why adding your user to this group could be a good idea. Make sure your replace your_user in the following commands:

sudo usermod -a -G debian-transmission your_user

Now you need to set the correct ownership and permissions:

sudo chown -R your_user:debian-transmission ~/transmission
sudo chmod -R 755 ~/transmission

A good configuration file

Now this part is very important. The configuration file must be filled correctly or else you might not be able to access Transmission’s web interface. Many other things could also “go wrong”. But don’t worry, you can edit this file anytime in the future to fix any problem you might encounter.

First thing to do is to stop the daemon. If you don’t, the configuration file will be overridden when Transmission closes the next time.

sudo /etc/init.d/transmission-daemon stop

Use any text editor (I use Nano here) to edit the configuration file.

sudo nano /etc/transmission-daemon/settings.json

You will find all possible settings here: official Transmission wiki.

When you’re done, restart the daemon.

sudo /etc/init.d/transmission-daemon start

Configuration file example

Here’s an example of what I have added or changed from the default configuration file. Don’t forget to change your_favorite_list_url and your_user in the following example.

"blocklist-enabled": true,
"blocklist-updates-enabled": true,
"blocklist-url": "your_favorite_list_url",

"download-dir": "/home/your_user/transmission/complete",

"incomplete-dir-enabled": true,
"incomplete-dir": "/home/your_user/transmission/downloading",

"rpc-authentication-required": false,
"rpc-whitelist-enabled": false,

"watch-dir-enabled": true,
"watch-dir": "/home/your_user/transmission/torrents"

Make sure there’s a comma at the end of each line, except for the last one. The last entry (watch-dir), means every torrent file your copy in that folder will be automatically added by Transmission. Download should start only seconds after that.

Port forwarding

For optimal performance in both download and upload, it is recommended to open/forward Transmission’s default port, 51413. To do that, you will need to access your router’s from your favorite Web browser (usually at or If you need help passed that point, I suggest googling for something like “your_router_model port forwarding”. You should find plenty of information.

Access Transmission WebUI

Now that you have stopped the daemon, edited settings.json, and restarted the daemon, you should be able to access the Web interface. Simply navigate to your server/computer’s IP and port 9091 (can be changed in settings.json if it doesn’t suit your needs), which should look something like:

Last step: show your girlfriend how to add new torrents using WebUI. 😉