The Beginning: Scratching an Itch
My homelab journey didn’t start with grand ambitions. It began with the desire to watch TV on my netbook (remember those?), when I was bored in computing classes at high school and 6th form. Ever the stringent professional, I know… This was back in the days where Netflix would send out DVDs, and the little netbook didn’t have a DVD drive! I did, however, have one of those old school Mac Minis with a DVD drive. That meant I had options. I could watch the DVDs, great, but when I was away from home? Zilch.
I quite quickly discovered the joys of Handbrake, but those files were pretty large. And what if I finished one at the beginning of a lesson? Then I’d have nothing and I’d have to pretend I hadn’t already finished the semester’s work… Enter: Plex. I could rip all of the DVDs to the Mac and then stream what I wanted, when I wanted, to my netbook. It was likely this instance of being able to solve my own problems that bit me with the homelab bug. There’s also wider philosophical context, but that’s for another post.
When I moved to University and became a networking student, my first dedicated homelab purchase wasn’t even a server — it was a switch. More accurately, a bundle of routers and switches.This allowed me to build Cisco labs at home to practice configurations and protocols I was learning in my degree. Then I added a Raspberry Pi to run speedtests and monitor the network. And on, and on…
The Services: Building My Digital Ecosystem
The pivotal moment in my homelab journey came when Dropbox catastrophically overwrote all of my data with 0-byte files, and wouldn’t let me recover the old versions. This data loss pushed me to look for alternatives I could control, leading me to experiment with Syncthing, OwnCloud (and later NextCloud) for file synchronization. What began as a response to a crisis evolved into a philosophy of data sovereignty.
As my confidence grew, so did the range of services in my homelab. Each new addition represented not just a new capability, but a new learning experience:
- Communication tools: Setting up ZNC as an IRC bouncer to maintain connections to various communities
- Development environments: Creating remote development setups with VS Code that allowed me to code from anywhere
- Network management: Deploying UniFi Controller for managing my growing home network
- Data synchronization: Running NextCloud to keep my files synchronized across devices without relying on commercial cloud providers
- Recipe management: Implementing Tandoor Recipes to store recipes, manage weekly meal plans, and generate shopping lists – a service that’s become one of my proudest homelab achievements
Each service came with its own challenges and learning curves. I’ve learned to be selective about what I self-host – some services, like voice conferencing or collaborative document editing, still work better with cloud solutions. It’s about finding the right balance between control and practicality.
The Challenges: Lessons in Resilience
No homelab story is complete without tales of failure and recovery. I’ve experienced my fair share of homelab issues:
- Power outages revealing gaps in my UPS coverage (and my postgres backups)
- Network configuration errors that made me appreciate the phrase “out of band management”
- Storage failures that tested my backup strategies
- DNS issues… say no more
Each of these challenges taught me something valuable. I learned to embrace infrastructure as code, to test my backup and recovery procedures regularly, and to build monitoring systems that would alert me to problems before they became catastrophic.
I also learned the importance of simplicity. Early on, I was tempted to implement complex solutions because they seemed more “professional” or impressive. Over time, I’ve come to appreciate simpler, more maintainable approaches that might not be as flashy but are far more reliable in the long run. The Unix Philosophy “Do one thing and do it well” is a good example of this.
The Present: A Stable but Evolving Ecosystem
My current setup includes:
- Multiple VLANs to segment out trusted services from testing or IoT services
- Tailscale access for most services, besides the public ones which I’m using to experiment with Cloudflare Tunnels
- A mix of VMs and Containers for services depending on the use case (there’s a post in the works to explain the process behind this)
- UPS backup power that keeps essential services running during outages (I live in the countryside, so this is a necessity)
That last point is a surprising source of satisfaction. There’s something uniquely gratifying about hosting guests during a power outage and watching their amazement when they realize the Wi-Fi still works perfectly. These small moments of resilience remind me why I started this journey in the first place.
But stability doesn’t mean stagnation. My homelab continues to evolve as new technologies emerge and my needs change. The learning never stops - and that’s precisely what makes this journey so rewarding.
The Future: New Horizons
Looking ahead, I’m excited about several new directions for my homelab:
- Exploring more sophisticated automation to reduce manual maintenance (watchtower, etc.)
- Building a Kubernetes cluster to freshen up my skills and do some certification prep
- Experimenting with locally hosted AI services for things like audio transcriptions of these posts, or subtitling videos
- Doing more with less - replacing some of the beefier networking hardware with more modern, power efficient alternatives
Reflections: What I’ve Learned
If I were to distill the lessons from my homelab journey so far, they would be:
- Start small, but think long-term - Begin with manageable projects, but design with expansion in mind
- Document everything - Even if it seems obvious at the moment, future you will thank present you
- It’s not a failure if you learn from it - Every outage or configuration issue is an opportunity to improve
- Value simplicity - The most elegant solution is often the most maintainable one
So if you’re somewhere along your own homelab journey - whether just starting out or managing a complex setup - I hope you find the same joy in the process that I have. The technology will change, the services will evolve, but the core experience of learning by doing remains invaluable.
Questions/comments/feedback? All are welcome! Feel free to contact me on Mastodon, Twitter, or email.