Difference between revisions of "Torrenting Server"

From Da Nerd Mage Wiki
Jump to navigation Jump to search
 
(3 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.
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.
Line 42: Line 43:


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 82: Line 86:
  # Have my GH mini tell me about it
  # Have my GH mini tell me about it
  mosquitto_pub -h skynet -t "Scotts Speaker Quiet" -m "One Done!"
  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

Proven on:
Logo Debian.png
13 (trixie) This includes a lightweight LXC


As always...

Start with:

  • sudo apt update
  • sudo apt upgrade

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_Space
  • sudo vi /etc/fstab
StorageServer:/Download_Space /mnt/Download_Space nfs rw,user,exec 0 0
  • sudo mkdir /mnt/Download_Space/DONE
  • sudo 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 stop
  • sudo 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