Difference between revisions of "Torrenting Server"
| (11 intermediate revisions by the same user not shown) | |||
| Line 4: | Line 4: | ||
{{!}} style="text-align: center; width: 60px;" {{!}} [[File:Logo Debian.png{{!}}60px{{!}}link=https://www.debian.org/{{!}}center{{!}}middle{{!}}frameless]] | {{!}} style="text-align: center; width: 60px;" {{!}} [[File:Logo Debian.png{{!}}60px{{!}}link=https://www.debian.org/{{!}}center{{!}}middle{{!}}frameless]] | ||
{{!}} style="text-align: center; width: 40px;" {{!}} 13 (trixie) | {{!}} style="text-align: center; width: 40px;" {{!}} 13 (trixie) | ||
{{!}} | {{!}} This includes a lightweight LXC | ||
<br> | <br> | ||
| Line 36: | Line 36: | ||
* <code>sudo mkdir /mnt/Download_Space/DONE</code> | * <code>sudo mkdir /mnt/Download_Space/DONE</code> | ||
* <code>sudo mkdir /mnt/Download_Space/WIP</code> | * <code>sudo mkdir /mnt/Download_Space/WIP</code> | ||
<span style="color: rgb(186, 55, 42);" >NOTE</span>: When using a VPN, you may need to use IP addresses to refer to other machines on your LAN. | |||
If you don't want to use an NFS share for this, you could either add a dedicated drive or just set up the folders on the boot drive. I'd seriously recommend, at minimum, 500GB of available space. | |||
== Useful things == | == Useful things == | ||
Configure your download server to [[Setting Up OpenVPN & PIA as a client|'''use a good VPN''']]. | Configure your download server to [[Setting Up OpenVPN & PIA as a client|'''use a good VPN''']]. | ||
* <code>sudo apt install mosquitto-clients</code> | |||
** Handy for integrating the download server into your IoT infrastructure... | |||
= Install Transmission-daemon = | = Install Transmission-daemon = | ||
| Line 45: | Line 51: | ||
= Configure Transmission-daemon = | = Configure Transmission-daemon = | ||
<span style="color: rgb(186, 55, 42);" >'''Note:'''</span> Any time you edit settings.json, You need to stop transmission-daemon first or it'll overwrite your changes. | <span style="color: rgb(186, 55, 42);">'''Note:'''</span> Any time you edit settings.json, You need to stop transmission-daemon first or it'll overwrite your changes. | ||
* <code>sudo service transmission-daemon stop</code> | * <code>sudo service transmission-daemon stop</code> | ||
* <code>sudo vi /var/lib/transmission-daemon/info/settings.json</code> | * <code>sudo vi /var/lib/transmission-daemon/info/settings.json</code> | ||
Here is an incomplete list of items to edit. (based on my own setup...): | Here is an incomplete list of items to edit. (based on my own setup...): | ||
"download-dir": "/mnt/Download_Space/DONE", | "download-dir": "/mnt/Download_Space/DONE", | ||
"incomplete-dir": "/mnt/Download_Space/WIP", | "incomplete-dir": "/mnt/Download_Space/WIP", | ||
| Line 60: | Line 64: | ||
"rpc-authentication-required": true, | "rpc-authentication-required": true, | ||
"rpc-bind-address": "'''HOSTNAMEorIP'''", | "rpc-bind-address": "'''HOSTNAMEorIP'''", | ||
"rpc-password": "Pick a good password (will become encrypted automagically)", | "rpc-password": "<span style="color: rgb(22, 145, 121);">Pick a good password (will become encrypted automagically)</span>", | ||
"rpc-username": "greybeard", | "rpc-username": "'''greybeard'''", | ||
"rpc-whitelist": "127.0.0.1,192.168.*.*", | "rpc-whitelist": "127.0.0.1,'''192.168.*.*'''", | ||
"script-torrent-done-enabled": true, | "script-torrent-done-enabled": true, | ||
"script-torrent-done-filename": "/usr/local/bin/TorrentDone.sh", | "script-torrent-done-filename": "<span style="color: rgb(132, 63, 161);">'''/usr/local/bin/TorrentDone.sh'''</span>", | ||
"umask": 18, | "umask": 18, | ||
* <code>sudo service transmission-daemon start</code> | * <code>sudo service transmission-daemon start</code> | ||
'''HOSTNAMEorIP''' is the proper name or address of the machine on your network. | |||
'''greybeard''' seems like a good username for torrenting to me... :P | |||
'''192.168.*.*''' should match the possible addresses on your LAN. | |||
<span style="color: rgb(132, 63, 161);">'''/usr/local/bin/TorrentDone.sh'''</span> is a script to be run whenever a torrent finishes downloading. Fun stuff like sending notifications to your voice assistant or celphone are possibilities. | |||
On my download server, it looks like this: | |||
#!/bin/bash | |||
# Have my GH mini tell me about it | |||
mosquitto_pub -h skynet -t "Scotts Speaker Quiet" -m "One Done!" | |||
(This MQTT topic is monitored by a Node-Red flow that sends the message on to a GH mini in my lab.) | |||
Take a look at [https://github.com/transmission/transmission/blob/main/docs/Editing-Configuration-Files.md what passes for documentation] for further pointers. | Take a look at [https://github.com/transmission/transmission/blob/main/docs/Editing-Configuration-Files.md what passes for documentation] for further pointers. | ||
Latest revision as of 22:01, 21 September 2025
| 13 (trixie) | This includes a lightweight LXC
|
| As always... | |
|---|---|
|
Start with: |
|
Preparation
Storage
Storage space for downloading (Torrents & such) should be done on a dedicated drive.
I tend to do most of my storage via NFS served up by my dedicated storage server.
Create a DONE & a WIP folder on the storage drive. This will make it easier to keep things organised.
sudo mkdir /mnt/Download_Spacesudo vi /etc/fstab
StorageServer:/Download_Space /mnt/Download_Space nfs rw,user,exec 0 0
sudo mkdir /mnt/Download_Space/DONEsudo mkdir /mnt/Download_Space/WIP
NOTE: When using a VPN, you may need to use IP addresses to refer to other machines on your LAN.
If you don't want to use an NFS share for this, you could either add a dedicated drive or just set up the folders on the boot drive. I'd seriously recommend, at minimum, 500GB of available space.
Useful things
Configure your download server to use a good VPN.
sudo apt install mosquitto-clients- Handy for integrating the download server into your IoT infrastructure...
Install Transmission-daemon
sudo apt install transmission-daemon
Configure Transmission-daemon
Note: Any time you edit settings.json, You need to stop transmission-daemon first or it'll overwrite your changes.
sudo service transmission-daemon stopsudo vi /var/lib/transmission-daemon/info/settings.json
Here is an incomplete list of items to edit. (based on my own setup...):
"download-dir": "/mnt/Download_Space/DONE", "incomplete-dir": "/mnt/Download_Space/WIP", "incomplete-dir-enabled": true, "lpd-enabled": false, "ratio-limit-enabled": true, "rpc-authentication-required": true, "rpc-bind-address": "HOSTNAMEorIP", "rpc-password": "Pick a good password (will become encrypted automagically)", "rpc-username": "greybeard", "rpc-whitelist": "127.0.0.1,192.168.*.*", "script-torrent-done-enabled": true, "script-torrent-done-filename": "/usr/local/bin/TorrentDone.sh", "umask": 18,
sudo service transmission-daemon start
HOSTNAMEorIP is the proper name or address of the machine on your network.
greybeard seems like a good username for torrenting to me... :P
192.168.*.* should match the possible addresses on your LAN.
/usr/local/bin/TorrentDone.sh is a script to be run whenever a torrent finishes downloading. Fun stuff like sending notifications to your voice assistant or celphone are possibilities.
On my download server, it looks like this:
#!/bin/bash # Have my GH mini tell me about it mosquitto_pub -h skynet -t "Scotts Speaker Quiet" -m "One Done!"
(This MQTT topic is monitored by a Node-Red flow that sends the message on to a GH mini in my lab.)
Take a look at what passes for documentation for further pointers.
Notes
Folder permissions are VERY important...
sudo chmod -R 777 /mnt
Seems to work... But it's FUGLY
Some Links
- TransmissionHowTo on Ubuntu Help Wiki
- Transmission on ArchWiki
- Editing Configuration Files transmission on transmission wiki - github
- Permission denied when downloading with transmission deamon on askubuntu