Skip to main content Logo (IEC resistor symbol)logo

Quis custodiet ipsos custodes?
Home | About | All pages | RSS Feed | Gopher

Transmission Web on a Raspberry Pi with Arch Linux

Published: 28-04-2014 | Author: Remy van Elst | Text only version of this article

Table of Contents


One of my Raspberry Pi's was running a test setup of the Citadel groupwareservice. The test was sucessfull, so I set up a real world setup. The RaspberryPi would serve another purpose, namely, a Linux Torrent seedbox. As in, to seedLinux torrents from

If you like this article, consider sponsoring me by trying out a Digital OceanVPS. With this link you'll get $100 credit for 60 days). (referral link)

I choose Transmission for this, because it is simple, fast and stable.Transmission has a good webinterface, plus it allows access from remote clientswith the transmission-remote gui packages.

My Pi's run Arch Linux, so setup of Transmission is fairly easy. First installit with pacman:

sudo pacman -Syu transmission-cli

Enable the service at startup:

sudo systemctl enable transmission

Start the service:

sudo systemctl start transmission

Create a folder where your user and the transmission group (where thetransmission user belongs to) can read and write:

sudo mkdir -p /mnt/data/torrents/{incomplete,complete,torrentfiles}sudo chown -R remy:transmission /mnt/data/torrentssudo chmod -R 775 /mnt/data/torrents

In my example the folder /mnt/data/torrents is an external USB harddrive whichis mounted via /etc/fstab at boot. Remember to change remy to your Piusername.

Stop the daemon to make sure the config file edits stick:

sudo systemctl stop transmission

Edit the default config file to allow remote access to the daemon (or do not dothat and use an ssh tunnel every time) and update the downloads path:

sudo vim /var/lib/transmission/.config/transmission-daemon/settings.json

Change the following parameters:

    # From    "download-dir": "/var/lib/transmission/Downloads",    # To    "download-dir": "/mnt/data/torrents/complete",    # From:    "incomplete-dir": "/var/lib/transmission/Downloads",    # To    "incomplete-dir": "/mnt/data/torrents/incomplete",    # From    "incomplete-dir-enabled": false,    # To    "incomplete-dir-enabled": true,    # From    "rpc-whitelist": "",    # To    "rpc-whitelist": "*.*.*.*",

This sets the correct download folders and allows access from everywhere to thetransmission webinterface. You can also list a range there ( orjust one IP address.

If you do not udate the ACL you get a nice error message when connecting:

403: ForbiddenUnauthorized IP Address.Either disable the IP address whitelist or add your address to it.If you're editing settings.json, see the 'rpc-whitelist' and 'rpc-whitelist-enabled' entries.If you're still using ACLs, use a whitelist instead. See the transmission-daemon manpage for details.

If all went well you should be able to connect to http://YOUR-PI-IP:9091 andsee the nice transmission webinterface.

If you are going to download copyrighted material you might want to enable ablocklist, see for more info on that.

If you want more info on Transmission on Arch Linux, read up on the archwiki.

Tags: arch, blog, linux, linuxtracker, raspberry-pi, systemd, torrent, torrents, transmission