Transmission is one of the most widely used bittorrent client that most linux servers and seedboxes use. This guide will show you how to install this software on your own linux server, instead of paying a company a premium to set this up for you. There are few very simple steps on setting this up properly, please follow the guide accordingly and you will have no problems getting this set up and running.
To read more about the details of Transmission, take a look at their website: Transmission (transmissionbt.com)
Depending on your version of Ubuntu, you may or may not have the python-software-properties package installed so let’s install that first, if it says that it is already installed great. No harm done by running the command anyways.
sudo apt-get install python-software-properties
Now to add the transmission to the apt repo issue this command
sudo add-apt-repository ppa:transmissionbt/ppa
Now that we added the transmissionbt to the repo we need to update the package list.
sudo apt-get update
If your server successfully updated the package list you may want to upgrade your server although this is not necessary to the installation of this program.
sudo apt-get upgrade -y
Now that your server is fully up to date let’s start the installation of transmission.
sudo apt-get install transmission-cli transmission-common transmission-daemon
Now lets create some folders for transmission to download to. You can name these any how you want, but for ease sake let’s just use these.
The Completed folder will keep all of the torrents that have completed downloading. The Incomplete folder will hold all the files that are not finished downloading or are in the process of downloading. The torrents folder will be able to hold all the torrent files that we want to be download, so transmission will scan this folder to add new torrent files. This may be better for people that do not have web-brower access.
When files are downloaded transmission gives ownership of the files to the transmission group so we need to add our group to the transmission group. Replace the bold username with your actual username.
sudo usermod -a -G debian-transmission username
sudo chgrp -R debian-transmission /home/username/Downloads
sudo chmod -R 775 /home/username/Downloads
Now let’s edit your transmission config file, before we open the file we need to shut down transmission because it will overwrite your file as soon as you save it.
sudo /etc/init.d/transmission-daemon stop
Now let’s edit the configuration file. I prefer to use nano since it is more user friendly then compared to use VI but you can use either.
sudo nano /etc/transmission-daemon/settings.json
You can go and edit the configuration file to the way you like, but here are some of the basic edits that you should do.
Also add your watch directory to the end of the file, but just before the closing bracket “}”
Once you have changed what you like, you now should start the transmission daemon again.
sudo /etc/init.d/transmission-daemon start
You are all set! Transmission daemon is fully installed. Head over to your server IP:9091 to access your web Ui.
Although I do recommend changing your port to 8080 if you have nothing occupying it since most firewalls will block port 9091.
Looking to add a nicer GUI to Transmission? Check out this post: Modern GUI For Transmission Daemon | VroomTech.io
Good write-up here. People following along may want to watch out for the ‘smart’ quotes on those lines in the last step (adding lines to the config.json).
Otherwise, these steps worked for me on Ubuntu 18 running in AWS. Also needed to open up inbound rules in the security group, but that’s beyond the scope of this document.
Good catch, thank you. Will update it soon!
for some reason it doesnt start with WATCH directory…
but thanks anyway!
how to make things better put a tutorial on how to download torrents to other or external hdd!
remember to delete “,” on the line before you add the last WATCH lines and delete “,” comma
Make sure you have your “,” after every line except for the last. Should work fine after that.
[…] though I have followed the instructions like this and set up the right permissions for user […]