Musings of a Programmer

Rarely-used blog of Dan Harper.
View all blog posts

  1. Installing Raspbian
  2. Auto-Mounting USB Drives
  3. Transmission
  4. SickBeard
  5. CouchPotato
  6. MiniDLNA
  7. Samba

We'll be using the Transmission daemon for the actual downloading of the torrents.

First, let's set up a few directories for Transmission to store downloads. I'll be placing these all in /mnt/usbel/Torrents/:

  • mkdir Completed where completed downloads will be stored and SickBeard can pick them up
  • mkdir Incomplete where pending downloads will be stored
  • mkdir Watch which Transmission will monitor, automatically starting any .torrent files added inside it

Now, install it:

sudo apt-get install transmission-daemon

Transmission will auto-start, and you can access it on port 9091. However when you do, you'll get a "Blocked IP Address" page as by default it's locked down to local access only. To change the settings we first need to stop the service:

sudo service transmission-daemon stop
sudo vim /etc/transmission-daemon/settings.json

In here we'll want to change a few settings. If you can't find the setting in there already, add it:

"download-dir": "/mnt/usbel/Torrents/Completed",
"incomplete-dir": "/mnt/usbel/Torrents/Incomplete",
"incomplete-dir-enabled": true,
"watch-dir": "/mnt/usbel/Torrents/Watch",
"watch-dir-enabled": true,

For IP access you can either define a comma-separated list of allowed IPs (wild card is supported):

"rpc-whitelist": "127.0.0.1,192.168.0.*"

Or disable IP restriction completely:

"rpc-whitelist-enabled": false

Additonally, a username & password is required (default transmission:transmission), let's disable that:

"rpc-authentication-required": false

A list of all the settings, with details, can be found here.

Finally, I've had issues getting the daemon to have the correct permissions to write to my external disk, so I've instead configured it to run as root (which is dangerous). The user it runs as is configurable like so:

sudo vim /etc/default/transmission-daemon

Add this line somewhere:

USER=root

We're done! Just run sudo service transmission-daemon start to bring it back online. Give it a try by opening the UI in your web browser (on port 9091), then downloading a torrent into your designated "watch" dir:

cd /mnt/usbel/Torrents/Watch
wget http://releases.ubuntu.com/14.10/ubuntu-14.10-desktop-amd64.iso.torrent

You should see it pop into the UI and start downloading in the "Incomplete" dir. Once it's done, it'll be moved to "Completed".