Homelab

I wanted to take some time to talk about my homelab, which still feels like an unusual term to me. I’ve been running Linux on a spare-PC/server since the mid 90’s: first as a PPP dial-up gateway running IP masquerading, then over to a NFS-based homebrew NAS shortly after broadband was available.


I wanted to take some time to talk about my homelab, which still feels like an unusual term to me. I’ve been running Linux on a spare-PC/server since the mid 90’s: first as a PPP dial-up gateway running IP masquerading, then over to a NFS-based homebrew NAS shortly after broadband was available. So to me, I’ve always considered it part of my infrastructure or “my server”, but if that’s the popular phrase these days then who am I to question?

Obviously my homelab has grown quite dramatically, and especially so in the past decade or so. I took more of an interest in Kubernetes as it became the standard container orchestration solution. This naturally included a lot of additional applications to help facilitate the management of everything. Building out a “proper” network architecture became important as everything grew, so I designed a new VLAN segmented network and implemented far too many firewall rules to enforce this. I also got into home automation and dove in to Home Assistant, which has been an absolute joy.

The hardware I used to run all of this also has shifted around quite significantly. Living through east-coast summers in upstairs apartments while running servers taught me a quick lesson on the importance of efficiency and low-power usage. I migrated away from a full-depth 4U rack-mount NAS server to a more efficient and compact Synology. Nowadays, with the exception of my desktop, everything else I run is a single-board computer or mini PC of some sort… seriously, without asset management, I would easily lose track of how many Raspberry Pi’s I have floating around. I could likely consolidate some of these, but I prefer having separation for both duties and any potential security issues if things are crossing networks.

Here’s a list of some of the applications core to my infrastructure I run, with a few details here and there:

  • microk8s: Runs my Kubernetes stack. It was an easy way to get started, but I’ve been debating switching this at some point.
  • ArgoCD: Declarative, GitOps CD solution for Kubernetes
  • Gitea: Self-hosted software development service. Mostly serves as an internal git remote for my litany of repos and a Helm chart registry. I should set up CI pipelines for a few of my projects, but most of them don’t get regular development.
  • Sealed Secrets: Facilitates proper secret management via a Kubernetes controller and one-way encrypted secrets
  • Grafana: Data visualization and monitoring solution. Pretty much the defacto solution for Kubernetes metrics.
  • Prometheus & VictoriaMetrics: Time-series metrics scraping and long-term storage. Scrapes my Kubernetes cluster, but many other things including physical hosts (node-exporter) and Home Assistant.
  • Various exporters: node, blackbox, ping, smokeping, snmp, etc
  • GLPI: Asset management tool. Something I first stood up in a job over a decade ago and decided to revisit it.
  • unifi-controller (via docker): Manages my Ubiquiti access points & switches
  • Zeek & ELK: Network analysis framework. Keeps a close eye on my network traffic, seeing if anything is amiss (are you behaving yourself, my suspicious little IOT device?)

Some other productivity apps, those these change from time-to-time:

Then some other applications related to home automation:

  • Home Assistant: One of my favorite pieces of software, immensely powerful and incredibly useful
  • Frigate: NVR software
  • smartgirder: My custom smart dashboard/display!
  • octoprint: Runs my Prusa mk4
  • iotawatt: Tracks power usage on most circuits in my home
  • mycodo: Automation software for my greenhouse project

This serves me (and my family) quite well overall. It seems like a lot, but it pretty much all fits in a small 12U rack mounted in my basement. I’ve seen some homelabbers with one, if not several, full-height racks completely populated with servers… that seems nice, but at this point in my life, I want something that I will spend my time using rather then fixing. I also can’t imagine the power bills for running all of that!

I’ll probably make a post about Home Assistant and my home automation setup, as there is quite a lot to talk about. Most of these other applications are relatively straight-forward and not worthy of a separate post. However, I do plan on discussing mycodo and my greenhouse project as I’m designing some custom PCBs to help manage and automate everything. Part of me wishes this project isn’t necessary, but since I live in a heavily wooded area in the PNW, I cannot grow much of anything in my yard. My blueberries and strawberries are very sad! 🙁

Leave a Reply

Your email address will not be published. Required fields are marked *