Homelab

I'm calling my collection of hobby servers and systems my homelab. Not everything is actually in my home :)

SDF

You are reading this website on The Super Dimension Fortress. If you have never had a shell account, or you are curious to learn more about Unix, I implore you to visit sdf.org. Give it a shot, read this first.

VPS

I use a $5 Linode VPS running Debian for many things. It's kind of my web front door, acting as a reverse proxy, web server for some static HTML sites, and a router for a bunch of random redirects I have setup. I also use it for misc. things like keeping screen sessions open (lol yeah I still use IRC a bit) and hosting a Minecraft server. It's fun because I try to push the performance limits of the cheap machine while using modern software to help me stay current.

The tools

Caddy is a badass "server of servers" but it began as a humble challenger to Nginx as a web server and fast reverse proxy that auto configures SSL and uses sane defaults. It's performant and friendly to use. Their official docs have greatly improved but I found John Siu's blog post very helpful when I was getting started with Caddy.

It's 2022 I'm obviously using Docker for running/managing pretty much all applications and services, like my Minecraft Bedrock server. I'm just using Compose, nothing fancy like Portainer. Kubernetes is overkill for my needs, though it's fun to play with. RAM is the bottleneck on my $5 VPS so I'm interested in saving as much memory as possible; even k3s is too expensive for me in 2022.

I use systemd for what I consider to be core services/infra. Stuff where the (small) overhead of Docker doesn't give me much. Things like Caddy. I'm not a systemd hater, I find it easy enough to create a simple service with logging.

Google Kubernetes Engine

I mentioned k8s was overkill for my VPS above, but I do have a sandbox cluster running on GKE. At the moment I'm just using it for learning and for occasionally spinning up some work related demo/test infrastructure. I tear it down pretty much straight away when I'm done doing whatever it is I'm doing. It's all scripted out with Terraform and some simple shell scripts that kubectl apply -f a bunch of deployments, an ingress (GCP LB), etc.

Raspberry Pi

As a modern day netizen, I find the internet truly disgusting. I need to donate to Pi-Hole because it's one of my favorite pieces of software and I bought a Raspberry Pi specifically to run it. Also at the time I just wanted an excuse to buy a Pi; I love my little ad-slaying appliance.

Mac Mini

I've repurposed an Intel Mac Mini at home as a hypervisor and a backup server. It has some external drives for extra storage. It's largely a sandbox, with VMs coming and going frequently. I like to use FreeBSD when I can, something I am still learning.