Virtualization
Build, organize, update, back up, and recover virtual machines and containers.
Build it. Understand it. Maintain it. Recover it.
A practical field guide to homelabs, Linux, and self-hosting — built around real systems, real projects, and the things you only learn after something breaks.
There’s always another service to try, another backup to test, another update to install — and occasionally something that worked perfectly yesterday decides it has other plans.
Build, organize, update, back up, and recover virtual machines and containers.
Useful applications you can actually run at home — plus what it takes to keep them running.
Commands, files, services, permissions, and troubleshooting explained instead of assumed.
DNS, VLANs, firewalls, HTTPS, routing, and the fundamentals that eventually show up in every lab.
Updates, monitoring, audits, documentation, health checks, and finding trouble before it finds you.
Restores, failure planning, recovery notes, and proving that your backups are actually useful.
Built by a human.
With a lot of help from AI.
I’m not a programmer. I’m not a Linux administrator. I’m not a network engineer. I’m someone who likes technology, wanted to understand more of it, and started building.
AI is a major part of how I built this homelab — and how I’m building this site. It gives me a way to ask questions, work through unfamiliar commands, troubleshoot problems, and tackle projects that would otherwise require countless hours of searching through documentation, forums, videos, and old posts.
The servers are real. The installations are real. The mistakes are real. The troubleshooting is real. And when AI is wrong, incomplete, outdated, or sends me down the wrong path, that is worth documenting too.
The goal is not to blindly copy commands. The goal is to use AI as a tool to learn what the system is doing and why.
Sometimes the long way is the point.
Helper scripts are useful. Understanding the build is more useful.There are some fantastic helper scripts in the homelab community. They can save a huge amount of time, and there is absolutely nothing wrong with using them.
But whenever practical, I prefer to install services from scratch because I want to know what is actually happening.
Doing things manually takes longer. That is fine. Every installation becomes part of the learning process — and that makes maintenance and recovery much less mysterious later.
Which seems appropriate. I’m building, testing, breaking, fixing, learning, and documenting the projects that will eventually live here. Sometimes I know exactly what I’m doing. Sometimes I have to figure it out. Both are worth documenting.