The joy of “homelabbing”

June 14, 2025

A few years ago, my knowledge of hosting and DevOps was limited to platforms like Vercel and similar dashboards, just a few configuration tweaks, and your app is running.

Today, I manage my own server, running Proxmox VE, hosting multiple services, and even maintaining a lightweight Kubernetes cluster with k3s.

In this article, I’ll share my homelabbing journey, explain why I believe it’s one of the best investments a developer can make, and share all the knowledge it can bring. All this from my view as a full stack developer and CS student who’s very interested in backend but not directly expecting to make a career in DevOps.

What’s a homelab (for me)

In the video “There’s No Wrong Way to Homelab” by the YouTube channel 2GuysTek, various creators from the homelab community share their perspectives on what a homelab is.

I completely agree with the message behind that video, and its title. A good homelab isn’t defined by specific hardware or software. It’s defined by how well it suits your needs and how much value and learning you get out of it.

A homelab is a personal environment where you can experiment, learn, and practice deploying and managing services without risking real-world disruptions.

For me, that means an old tower server, a OPNsense router, and a Raspberry Pi 3. For others, it might be a mini PC paired with a small switch and a basic router. And for some, it can scale up to a full-blown setup: racks of servers and datacenter-grade power systems, like the one Jeff showcases in this video.

There’s no fixed formula. A homelab is whatever setup helps you explore and grow.

My homelab

The setup I’m currently running is this:

  • Main server: HP ml350p generation 8 tower server with a 6 core Xeon V2 processor and 24GiB of RAM running proxmox.
  • Always on server: Raspberry PI 3B with 1GiB of RAM and 2 cores running ubuntu server for things like PiHole.
  • Router: checkpoint T-140 firewall repurposed to work as a router running OPNsense.
My homelab

For me, this setup gives me more than enough to learn, experiment, and have fun with self-hosted infrastructure.

Self-hosting is fun and useful

Beyond all the learning, there’s also satisfaction and enjoyment. I still remember the first time I successfully set up two virtual machines: One running a website inside a Docker container and other running a reverse proxy

I configured the reverse proxy to handle requests to test.local, a custom domain I mapped using Pi-hole, and serve the site that was running in the docker container.

When it actually worked, it felt amazing. That moment captured what homelabbing is all about: learning through building, breaking things, and finally getting them to work.

Homelabbing isn't just about learning and tinkering, it's also genuinely useful. There’s a huge ecosystem of open-source tools you can self-host.

  • Paperless: manage documents with full text search
  • Grafana: create dashboards to visualize metrics and real time data
  • Gitea: similar to GitHub but selfhosted

These are just some examples of such tools, but there's a lot of them. You can check this repo to find more interesting apps.

Every developer should know a bit about DevOps and infra

Every developer should have at least a basic understanding of infrastructure. For example, knowing how reverse proxies work, how to setup and manage different types of databases. How systems scale, the basics of how things like Kubernetes work and many more…

You don’t need to be a DevOps expert, but being familiar with these concepts and trying them out is invaluable.

For example, let’s say you’re building an app that needs to handle time series data. If you’ve already experimented with tools like InfluxDB in your homelab, your decision-making becomes much easier, and implementation, much faster.

You never know what kind of problems you’ll face next. A bit of hands-on infra knowledge can be the difference between fumbling and delivering confidently.

Ultimately, every developer can benefit whether it’s through better debugging, smarter architecture decisions, or simply becoming more self-sufficient.

Learning with your homelab

Homelabbing is one of the most natural ways to get comfortable with the basics of system administration. You'll quickly become familiar with Linux, which is something every developer should know at least reasonably well. From there, it’s only a matter of time before you find yourself exploring more advanced tools and concepts.

Personally, one of the most valuable things I’ve learned through homelabbing is the foundation of Kubernetes. It’s a complex and broad system, but thanks to my own experimentation, I now understand how to work with things like deployments, persistent volumes, and Helm charts. That may not sound impressive at first, but it’s a huge leap from when I avoided anything related to DevOps.

Now I’m running a k3s cluster across three separate virtual machines, using NFS volumes served by another virtual machine running TrueNAS. This setup came together piece by piece. What’s surprising is how natural the learning process becomes once the systems start to connect, and you realize you’re capable of managing increasingly complex infrastructure. It stops being intimidating and starts being exciting.

Personal recommendations for building a homelab

To finish, I want to share some thoughts on hardware choices when starting a homelab.

A homelab can be as simple as running a virtual machine on your main PC. But, if possible, I recommend avoiding that and starting with a dedicated machine. It doesn’t have to be anything fancy, just something separate from your daily setup makes a big difference.

There’s a common misconception that you need enterprise-grade gear to build a “real” homelab. That’s not true. A rack server isn’t all that different from a regular desktop. Sure, it often includes extras like redundant power supplies, a dedicated IPMI interface for remote hardware control, RAID controllers, more NICs, and additional hardware slots. But at the end of the day, it’s still a computer—just one with a few more enterprise-friendly features.

That said, enterprise gear also tends to be noisy and power-hungry. I personally enjoy working with it, it feels robust, and features like IPMI are genuinely useful. But beyond that, a mini PC with an i5 and 32GiB of ram is more powerful than my current system .

If you're interested in enterprise-grade servers, look into second-hand options, places like eBay often have great deals. On the other hand, if you're more concerned about electricity usage and noise, modern mini PCs are a fantastic alternative. They're small, efficient, and more than capable of running most homelab workloads today.

In the end, pick the hardware that best fits your needs and your environment. There's no single right choice. And if you’re ever unsure, the r/homelab community is a great place to explore real setups and get advice from others who’ve gone through the same journey.

Once you have your server, install ProxmoxVE and start homelabbing !