Table of Contents

, , , , , , , , , , ,

KPTree Torrent VM Setup

Deluge Headless setup

The main reference used is Havetheknowhow.com, specifically for the deluge headless setup, Havetheknowhow.com - How to install Deluge Headless. The Deluge support page is also a root source of knowledge Deluge systemd. Whatbox Deluge also has some interesting dialog.

If installing on a virtual machine (VM) it is important to also have set up the NFS to allow access to the main storage. Also, consider aligning the appropriate file system user and groups between the VM server and VM guests. (Check the local deluge directory actually exists for the user as otherwise the deluge and deluge web daemons will crash and not load. (For the Ubuntu Network Filing System, NFS, see Havetheknowhow.com - How to configure NFS Version 4, that contains configuration information for both the VM server and clients.

Unfortunately, Havetheknowhow.com does not seem to cover the alignment of user and groups between the main OS and VMs. I create a basic template machine and manual update the group and user id numbers to align, a use the basic information given in Linux: Changing UIDs and GIDs for a user. The process is tedious and takes a bit of care to complete, but once setup properly allows better operation between the server and virtual machines.

I use a dedicated VM guest for Deluge with a VPN set up on this VM. I have been using the VPN BTGuard for a few years now without any significant problems, save for BTGuard changing the IP address of their servers on occasion without informing end users, this affects the firewall software as noted below.

Recent changes not fully updated:


deluge systemd setup

Setting up deluged and and deluge-web as systemd services is described in deluge docs How to create systemd services for Linux

We want to delay the start of the deluged.service to after the related drives are mounted.

First we need to check the units on on the machine. Use sudo systemctl list-units and look for the relevant .mounts . In mycase:

  -.mount               loaded active mounted   Root Mount
  mnt-deluge.mount      loaded active mounted   /mnt/deluge
  mnt-disk2.mount       loaded active mounted   /mnt/disk2

Similarly, in the same listing look for the relevant .services:

  deluge-web.service    loaded active running   Deluge Bittorrent Client Web Interface
  deluged.service       loaded active running   Deluge Bittorrent Client Daemon

systemd-analyze – Find System Boot-up Performance Statistics in Linux


OpenVPN with PrivateVPN

I decided to go with PrivateVPN that seems to get reasonably good reviews at the time of change over (2020-04-18) and my old VPN provided (BTGuard) was getting very poor reviews, was up for renewal, and was becoming comparatively expensive. The following is a list of resources to help with Linux Ubuntu CLI setup:

The PrivateVPN OpenVPN Linux CLI setup and associated download script worked well and was similar to the BTGuard setup, with the following issues easily found:


OpenVPN setup with BTGuard

I decided to move away from BTGuard after many years of service. Primary reasons: 1. They were becoming more expense (in part of currency variation with USD) and 2. Their services seemed not to be very comprehensive and up to date. Basically not the best value for money.

BTGuard Setup Notes

Some Handy Commands to Check Configuration

Some of the last journal log lines are shown too, to see all the journal log use the journalctl command. Some journalctl directives:


NFTables Configuration

NFTables supersedes IPTables, although IPTables is still most common in use. I have taken the effort to learn both IPTables and NFTables and prefer the syntax of NFTables.

A problem with the OpenVPN system is should it fail then the IP connectivity falls back to the standard connection with all the VPN benefits lost. To diminish this risk, I have set up the Deluge VM with a NFtables based firewall to effectively stop external internet connection upon any failure of the VPN, that is only the VPN connectivity is allowed. I have learned from the original IPTables based configuration below. With the ease of use of NFTables I have been able to improve and optimise the firewall.

To install nftables: “sudo apt update” followed by sudo apt install nftables

Old, to;dr;

Sample NFTables configuration script for PrivatVPN

sudo vim /etc/nftables.conf

nftables.conf script

Sample NFTables configuration script for BTGuard

sudo vim /etc/nftables.conf

nftables.conf script

The use of the counter directive allows the usage to be checked. I commented out lines that were not being used.
To list the firewall: sudo nft list table ip firewall


IPTables Configuration

A problem with this protection is should the OpenVPN system fail then the VPN protection will fail. To diminish this risk, I have set up the Deluge VM with an IPtables based firewall to effectively stop external internet connection upon any failure of the VPN. (The reference for the iptables filter script was AirVPN - Prevent leaks with Linux & iptables )

Sample IPTables configuration script

BTGuard_iptable.sh:

Old, TL;DR;

How to make IPTables configuration permanent / restore on boot

old tl;dr;

Kodi Setup

I have been using WD Media players around the house the past 8 years or so. Originally with individual 2.5“HD and then connecting to my home server. These units are very simple to use and setup and have played media files well. Circa 2016 I notice that some media files will not play anymore. Upon investigating the WD (Western Digital) web site I notice that these units look to be no longer sold and support is limited, perhaps already end of life. Earlier investigation of these unit indicate the internal hardware is quite limited, particularly by current standards, but as already stated good enough as a general media player.

I notice a few years ago the the web site Have the know how recommended the Kodi Overview, in fact even states, ”Kodi: The holy grail of media streamer front-ends“. I will not go over the benefits and history of Kodi, just look at the Kodi home page and Have the Know How web pages.

Kodi can be loaded on to many different types of hardware and operating systems, it even has a Linux based OS design for it, OpenELEC. Specifically it does run on MS Windows and most flavours of Linux.

Kodi Server MariaDB (MySQL) Setup

old tl;dr;


Kodi Headless Server Setup

Old tl;dr;


Docker Setup - Preliminary

Docker seems to be a reasonably recent variation based upon quite old concepts with modern aspects thrown in. The documentation seems a bit sparse. I found it difficult to find a good balanced reference. A good reference is of course the Docker Website itself: Get Started, Part 1: Orientation and setup. A good reference (pdf) was from Anthony Blair of Universit'e de Rennes, Docker Tutorial. Many of the Docker tutorials seem to focus on features that I am not interest at this time, such as Docker swarms and not enough on basic usage.

Some handy docker commands and related:

Start container at boot:

It is assumed that the container has been previously created/run and is available to be started at boot.

sudo vim /etc/systemd/system/docker-kodi-headless.service

[Unit]
Description=kodi-headless container
Requires=docker.service
After=docker.service

[Service]
Restart=always
ExecStart=/usr/bin/docker start -a kodi-headless
ExecStop=/usr/bin/docker stop -t 2 kodi-headless

[Install]
WantedBy=default.target