Homelab
Homelabbing has been huge for me. It walks the line between a hobby, a research space, and a “home prod” where I can self-host services away from the tech giants.
Homelabbing doesn’t require a rack. It can be any computer on your local network advertising a service. Browsing reddit.com/r/homelab, reddit.com/r/homedatacenter, or reddit.com/r/selfhosted one can see things can get out of hand quickly. But, the fun thing is there is no one way to acomplish your goals. And, your goals will change!
Over the years my lab has had many iterations. I have purchased new equipment, purchased decommisioned equipment off of eBay, pulled decommissioned equipment out of the junk pile at work, etc. All with the focus of learning first hand how to solve everyday problems with technology.
One of the first disoveries while building a resilient setup, is the idea of separating the core functionality of systems to become more readily available and stable. Most home computers will have a single processor, a single storage device, a single network interface, etc. That is fine for non-critical work. But, you start to experience the downsides when hosting services for your household.
I enjoy the idea of “home prod” or home production. It is when you self-host services that the household relies upon. Maybe a Minecraft server, or a recipe management system. If one of those services becomes unavailable, you may hear about it from users, I mean the family! So, it puts a little pressure on the descisions made.
To achieve a stable “home prod” setup, we need to break down the core functionality of “a computer” into parts we can manipulate individually. This includes:
- Being consistently available
- Being maintainable
- Being expandable
- Being upgradable
That is accomplished by separating the system into its core functionality and allowing each piece to only involve itself. Let storage be storage (not host containers), for example. The following sections describe more in detail.
