My homelab at a glance
Years ago it started with one simple NAS, purely to keep files and computer backups safe. Later, a backup of my Office 365 environment got added to that too. These days there’s a proper little cluster of servers running, a language model humming away locally, and single sign-on set up for almost every service in the house. Time to finally write that process down — not as a technical manual, but as a story.
Why a homelab in the first place?
No big secret: curiosity and control. I want to know how things work, not just that they work. And I don’t want to depend on a cloud subscription for something I can host myself — my photos, my automation, my AI experiments. Bonus: you learn an enormous amount, especially from the things that don’t immediately go right.
What’s actually running?
My setup is now split into a few clear layers:
- Infrastructure — a cluster of multiple physical machines forming the foundation together. Everything runs in lightweight containers and virtual machines, neatly separated by task.
- Network & security — a custom network setup with DNS-level ad blocking, a reverse proxy deciding what is and isn’t reachable from outside, and encrypted remote access.
- Identity & SSO — one central login service so I don’t need a separate password for every app, including mandatory two-factor authentication.
- Media & automation — self-hosted photo and media management, plus an automation platform that takes all kinds of chores off my hands.
- AI, local — a graphics card assigned to a dedicated node, running language models locally. No data leaving the house, no subscription costs.
- Backup & monitoring — regular, automated backups and a dashboard that shows at a glance whether everything is still healthy.
The nice part is that none of this was a fixed blueprint. It grew organically: every time I ran into something, a new service or tweak got added.
One challenge that deserves the record
Not everything goes right the first time — if anything, the most interesting lessons come from the things that broke. At one point, an update to my photo management service got completely stuck because of an obscure bug in the underlying toolchain: certificate verification failing, a networking library mishandling connection reuse, in short a pile of error messages that seemed to contradict each other.
The fix came down to two things: deliberately disabling certain verification steps in a place where that was safe to do, and building a small wrapper script that kept cleaning up what the update would otherwise keep restoring. Small problem, hours of digging — but exactly that kind of puzzle is why I keep doing this.
The local AI card had a similar moment: nvidia-smi happily reported that the card was detected, yet the AI software still couldn’t do any actual computing on it. Turns out “the card being seen” and “the card actually being usable” are two very different things — a distinction that cost me an evening of digging, but also produced one of the more satisfying “aha” moments.
What’s still on the list?
- Automatic photo recognition and tagging using the local AI model
- Making existing network shares directly available in the photo manager, without re-uploading everything
- Extending single sign-on to the last dashboard that still has its own login
- Splitting the network into further segments, with a dedicated zone specifically for the AI hardware
Wrapping up
This isn’t going to be a blog full of step-by-step tutorials — there are already plenty of good ones out there. It’s mainly going to be a logbook: what I build, what breaks, and what I learn from it. If you’re into homelabs yourself (or thinking about starting one), I hope there’s something recognizable or useful in here.
Next time: probably the story behind the local AI card, since there’s more to tell than fit in this post.
