As the year comes to a close I have 4.5 servers online, with another that is yet to be built (mostly due to laziness).
Trantor
My primary server, known as Trantor, has been online for just over a year. Until I build my last server, Trantor is the machine around which the rest of my network is built. It’s main purpose is to serve files with NFS to my desktop, though it also runs all my other services (see below) inside VMs managed by Proxmox.
It is an older set up, that so far has really reinforced in me the idea of giving old hardware a new life. The CPU is a 4th gen Intel that I inherited from a friend who isn’t all that much into computers and wanted help upgrading his set up. This is paired with 24 GB RAM and two 4 TB SMR Western Digital Red HDDs.
Anacreon
The second server I have is called Anacreon. It’s a small Lenovo ThinkCentre with an i5-7500T CPU and also 24 GB RAM. The original idea for this server was to use it for all my VMs and services, leaving Trantor entirely as a file server. However, I decided to upgrade my desktop with a new CPU and a smaller case, which gave me enough spare parts to build a 3rd server.
As a result, Anacreon’s job will eventually be to mostly act as an arbiter and another node in a Proxmox High Availability cluster. I probably have zero need for something like this, but I relish the idea of being to unplug any of my computers and still have access to at least a portion of the things I run.
RPis
When I said I have 4.5 servers online I meant both Trantor and Anacreon as well as two Raspberry Pi 4s and a single Raspberry Pi Zero (the latter counts as a 0.5, I think!).
As of now, one of my Pi4s is running a matrix server that I set up as an experiment. It doesn’t really do much else, and once my Proxmox cluster is up I intend to move the matrix services into their own VM (the thought being that if I get all my friends into Matrix, I want to guarantee as much as I can that the service will be running).
The second Pi4 is my “network Pi”. It sits right on top of my router and uses Pi-Hole and PiVPN to provide ad-blocking, DHCP, and wireguard services. Ideally this Pi should become obsolete when I finally acquire a machine capable of running pfSense for for now this is what I have.
The last Pi, my Pi Zero, is possibly the most under powered machine I have, yet possibly the one with the greatest up-time of them all. It’s entire life is dedicated to an ADS-B antenna I plugged into it and to feeding that data into Flight Aware . It was a fun little project I did when I started to explore playing with computers and, given my profession, has been invaluable given the free Enterprise account ADS-B feeders receive from Flight Aware.
Applications
When I first migrated to Trantor (from an old laptop) I was really getting into Docker and deploying a lot of applications. This has slowed down significantly as I have reached a point where starting up a new Docker container in itself isn’t that interesting anymore, and most of my applications have been fairly stable so far.
This is it not to say I don’t have some changes planned nor that I won’t deploy new stuff; indeed, this year I want to re-think how and where I run my services, as well as replace some.
Docker is the backbone of the things in my network, since most things are deployed as containers. My installation of Docker runs inside a Debian LXC container managed by Proxmox. Although I have seen some concerns online about nested virtualisation, this set up works really well for me (and I don’t have any need to GPU pass-through into any of my containers - in fact the only place where I do GPU pass-through is to a dedicated Jellyfin LXC).
- Audiobookshelf - Audiobook and podcast management, as well as ebook repository
- Calibre - Ebook management
- Gitea - Git repository
- Invidious - YouTube front-end
- Jellyfin - Media streaming
- Jellyseer - Media library management
- Jupyter - Mostly Python playground
- Libreddit - Reddit front-end
- Librespeed - Local network speed tests
- Lingva - Translation software
- Matrix | Synapse - Communications server, Discord alternative
- Nextcloud - File storage, recipe collection, RSS server
- Nginx Proxy Manager - Reverse proxy management
- Photoprism - Photo management and repository
- PiAware - ADS-B antenna
- PiHole - DNS server and ad-blocker
- Portainer - Docker management web host
- SnapRAID - Drive redundancy
- RSS-bridge - RSS server for my Kindle
- Syncthing - File synchronisation
- Transmission - Online downloads
- Wireguard - Home network access
One of the things I want to work on this year is changing some of these applications. For example, Nextcloud is a great piece of software, especially now that they added support for PHP 8 and thus runs considerably faster. But I don’t particularly like the “all-in-one” philosophy, particularly when it is designed for collaboration and multiple users. I am the only person who uses it, and even then I only use a small subset of Nextcloud’s features.
Thus, rather than deploying a monolith with embedded applications, I want to run several separate applications that I can manage individually. Part of this is that I have already started replacing Nextcloud - rather than use it for file synchronisation, I am using Syncthing and I have not looked back at all.
I also want to have a dedicated recipe management application, such as Tandoor - partly because I like the name, and partly because it does recipes much better than Nextcloud’s cookbook can. Likewise for the News app; rather than Nextcloud’s RSS server I want to use something like TT-RSS.
Although not set in stone, in 2023 I will also move some of the more critical apps that I have into their own VMs. The idea is that once I have a HA Proxmox cluster I can ensure some more redundancy for these services, such as the Matrix server (which my friends use) and anything related to my network (PiHole and Wireguard), since I need them to be alive to use the internet.
I also want to lower my dependency on GUIs that manage my configurations - especially those that, once set up, remain generally static or have few changes. I am talking about stuff like Nginx Proxy Manager, which I want to replace with pure Nginx, and Portainer, which I can replace with lazydocker.
All in all there are quite a few changes I have planned for the year, although it is less a process of innovation and more a process of consolidation.