The needs of my homelab have changed over time as I’ve make mistakes, learned, and tried new things.

Current Setup

Currently I have:

Future Upgrades

  • Server+NAS v2

Thoughts on Home Servers

I set up my first personal server as a freshman in college using scrapped parts from the college reuse mailing list. Over the next few years I set up a bunch of servers handling a variety of tasks - web hosting, VPN, home theater + DVR, music streaming, and distributed backups. I even installed Ubuntu on my PS3 and used that as a DVR client in my dorm room. During the winter I’d run SETI@home on the machines in my dorm room to keep the room nice and toasty against the miserable Massachusetts cold.

When I left school I left most of my servers behind. I couldn’t justify the costs of transporting all of the beige mid-towers and pizza boxes across the country loaded with tiny but heavy hard drives. After my first “real” paycheck, the famous jwz quote “Linux is only free if your time has no value” started to sink in and I slowly transitioned from daily driving Gentoo and doing everything myself (e.g. local NAS, local servers, manually configured VPSes) to daily driving MacOS for work, Windows for gaming, and relying on cloud services (streaming services, Dropbox, iCloud, Github Pages, etc.) instead.

All the while, the tech industry went all in on cloud providers and devops so the average backend engineer didn’t really need to know much about how to run a system, just how to containerize their code and chuck it up to the cloud.

But then:

I started feeling that trusting just the cloud wasn’t enough for me and that I may want to have my own secondary copies of certain backups. At the same time, I was extremely dissatisfied with the cost and availability of routers and home networking solutions on the market. Solving those two problems was the impetus for my homelab.

I also know the perpetual allure of tinkering with systems. So I set up a few rules for myself:

  1. Whatever I run at home is categorized as either essential or hobby.
  2. Treat essential services like cattle while hobby services could be pets.
  3. Trust but verify any cloud services I use.

So I started with three requirements:

  1. a router
  2. a NAS that can run routine backups
  3. a virtualization system where I can spin up hobby services without affecting the two previous essential services

2 items under this folder.