Alex Edwards

Building a homelab

For over 15 years now I’ve always enjoyed diving into rabbit-holes of how things work, and then building them back up; from old laptops laying around to software systems. Fast forward to today and I have my head in the cloud, working with managed lambdas, load balancers etc. which has taken away that need for lower level understanding, for better or for worse.

Enter, the Homelab.

A 16-core AMD Epyc server built up with NVME storage, 10Gb SFP+ networking, and 2 GPUs for graphic and AI workloads.

Compared to my spinning rust quad-core NAS with a read/write NVME cache, it’s fast. Blazing fast ™. Since deploying the server, I’ve already:

  • Migrated several services I’ve ran locally from the NAS docker daemon to LXC Containers.
  • Set up local DNS and SSL + TLS certificates in front of a reverse proxy.
  • Created a local AI service using ollama.
  • Headless Windows instance running for cloud gaming via Steam.

Power Consumption

Compared to my NAS, it consumes around 10x the power, when using the NAS at full-tilt, at idle. It’s a difficult thing to judge the cost benefit just yet, but the more I utilise it, the greater the pay-off. The major concern I had about my NAS was utilising it for critical backups, as well as running services lead to failed backups and flaky services. Hitting over 50% utilisation just to perform a backup, and more intensive tasks maxing out the CPU had me concerned for vital data corruption.

The irony being that now I have this more capable server, I’m looking to run some external management service that will safely power down this machine in the event that my UPS trips and only has limited power remaining.

Goal

My ultimate goal is to use it as a launch pad for better understanding lower level set up and management of services, such as clustering with kubernetes, as well as setting up local services that compliment other ventures such as embedded software, AI integrations, or off-loading long running tasks from my laptop to a VM.