The Beautiful Complexity of Self-Hosting: Why Simple is Relative
I recently stumbled across a blog post from someone who’s been self-hosting for thirteen years, documenting their journey to what they consider their ideal setup: OpenSUSE MicroOS with Podman. It’s a fascinating read, but what really caught my attention wasn’t the technical stack itself – it was the discussion it sparked about complexity and what that even means in our world of DIY infrastructure.
One commenter absolutely nailed it: “There’s some major self-delusion involved in any self-hoster when they say their DIY stack is ’low complexity’. Let’s be honest, nobody else knows wth we did in there. We all build arcane rat’s nests and then go ‘isn’t that beautiful?’”
I had to laugh at that because it’s so painfully accurate. My own setup has evolved over the years from a single Raspberry Pi running Pi-hole to… well, let’s just say it’s gotten a bit more involved. And yes, I absolutely think it’s elegant and straightforward. My wife, on the other hand, looks at my documentation like I’ve written it in ancient Sumerian.
The thing is, complexity is entirely subjective. What makes me really think about this is a story someone shared about showing off their multi-node Kubernetes cluster with HA control plane and OPNsense firewall to a colleague. When asked what workloads actually require such elaborate infrastructure, the response was perfect: “THAT IS NOT THE POINT.”
And honestly? They’re right. It’s not about justifying the complexity to others – it’s about what makes sense in your own head and what you’re comfortable maintaining. For some people, a basic Docker Compose setup is overwhelming. For others, managing a full Kubernetes cluster feels natural and straightforward because that’s what they do for a living.
I work in DevOps, so my tolerance for infrastructure complexity is probably higher than your average person’s. What looks like a simple, clean setup to me – automated deployments, container orchestration, monitoring stacks – might look like absolute chaos to someone else. And that’s fine. The person who’s been self-hosting for over a decade has earned the right to say their current setup is “low complexity” for them, because they understand every moving part.
The real insight here is recognising that what constitutes “appropriate complexity” changes over time. When I started tinkering with home servers, everything felt complicated. Now, after years of learning and breaking things (mostly at 2 AM), patterns have emerged that make sense to me. What once required extensive documentation and careful consideration now feels almost intuitive.
There’s also something deeply satisfying about building these systems. Sure, someone else looking at my setup would probably ask why I don’t just use managed services or stick with simpler solutions. But there’s a joy in understanding how all the pieces fit together, in having complete control over your infrastructure, and yes – in the tinkering itself. When someone asked about the elaborate setup and was told “THAT IS NOT THE POINT,” the responses were brilliant: “Anyone who dares ask that should be sent straight to jail.” Bloody brilliant.
The environmental and cost implications of running your own infrastructure at home versus using cloud services is another conversation entirely, and one I think about more these days given the energy footprint of our hobbies. But that’s a topic for another post.
What strikes me about the OpenSUSE MicroOS and Podman approach is the philosophy behind it: immutable infrastructure, automatic updates, containers without the Docker daemon complexity. It represents a certain maturity in thinking about self-hosting. Not necessarily because it’s objectively “better,” but because it reflects years of learning what breaks, what’s hard to maintain, and what actually matters when you’re responsible for keeping everything running.
The lesson I’m taking from all this? Stop worrying about whether your setup would make sense to anyone else. If you understand it, if you can maintain it, and if it meets your needs, then it’s exactly the right level of complexity. Your beautiful, arcane rat’s nest is perfect precisely because it’s yours. Just maybe keep some documentation handy for when you inevitably forget how you configured that one critical piece six months from now.
And if someone questions why you need such an elaborate setup for your personal projects? Well, that’s not really the point, is it?