Intro To My Homelab

There are very few things which will keep me talking for hours on end, and sadly the character limit on Twitter keeps me from flooding your feed with my stuff (oh the tragedy). However, here, I get to narrate everything I could ever want to about my homelab! Well, the reason I like talking about my homelab so much is that it's something I'm super proud of.

My homelab, still in its infancy, is comprised of a few key components: my Kubernetes cluster, my Dell Optiplex micro 3050, and a couple of Raspberry Pi's scattered around the house.

Raspberry Pies taste good

Have any of you actually eaten a raspberry pi before? While my homelab used to consist of 2 Pi 3b's serving different purposes, only 1 is still in use as my PiHole server, with the other being retired to some basic testing and experimentation.

PiHole acts as a DNS filter of sorts to block malicious links, trackers, and ads. When a computer makes a DNS lookup, it is first sent to the PiHole, which compares the URL to a blocklist database. If the URL is not in the blocklist, it is sent to an upstream DNS server which I configured to CLoudflare's. Otherwise, a Null IP is returned.

btw i use kubernetes ;)

I also use Arch btw, but I digress. My K8S cluster is the real start to my homelab. It is made up of 7 SoPine compute modules from the Pine64 company. Each module has a 2GHz quad-core CPU, with 2GB DDR3 RAM, running Armbian off 32GB micro-SD cards.

One of the seven nodes is my designated storage node, with a 64GB USB connected to it :D Eventually, however, I'll get some cheap SSDs to have proper redundant storage through Longhorn.

The cluster hosts this website, the website for my school, an onionshare page, and DNS-o-Matic pods to update Cloudflare when my DNS changes.

A monolith is fine too

While my Kubernetes cluster is a lot of fun, individual nodes are lacking in the power department. This means that heavier, more resource-intensive applications, are a no-go for them. Since it would be quite expensive to upgrade the cluster [or rather replace it], my only option was a monolith server, a Dell OptiPlex 3050 micro, which is a small form factor thin-client device. With an i5-7th gen puffing along, with up to 32GB DDR4 RAM and 2 NVME SSDs plus a SATA 2.5" drive, this server does everything which my cluster cannot, or runs services for which there's no point in putting on Kubernetes.

Most notably, the server runs Minecraft servers for both my friends group and my brothers', as well as an Nginx reverse proxy which also handles the certificates for my website. Additionally, it runs Kanboard for my own Trello board of to-do's and Kavita for hosting my e-books on the network, which I can then access from any device.

Conclusion

I don't have a massive homelab yet, and probably for the better. After all, running rack-mounted servers or networking hardware, even second-hand/e-waste tech, is pretty pricy to keep running, especially factoring in electricity costs. However, I'm definitely looking forward to upgrading the monolith or maybe incorporating it in the K8S cluster. And, eventually, the cluster will be getting an upgrade, maybe to the SoQuartz modules, 12 of which can fit with their blades into a 1U rack.