Build your homelab with Proxmox without going broke
A second-hand mini PC, Proxmox and a couple of afternoons. Everything you stop paying for once you run your own server at home.
I've had a homelab at home for three years and I still think it's the best purchase I've made as a developer. Not because of the savings — though there are some — but because owning a server forces you to understand things the cloud keeps hidden behind a button.
What hardware you actually need
Less than you think. My first node was a refurbished office mini PC: an eighth-gen i5, 16 GB of RAM and a 500 GB SSD. It cost less than three months of the VPS I was paying for.
Priorities, in order:
- RAM. It's the first thing you run out of. Every virtual machine takes its share and never gives it back. 16 GB is fine to start; at 32 GB you stop thinking about it.
- SSD, not a spinning disk. Half a dozen containers booting at once on a mechanical drive is a depressing experience.
- Power draw. This runs 24/7. A 15 W machine versus a 90 W one is roughly €80 a year in electricity.
What you don't need: a rack, server-grade hardware, ECC memory, or dual redundant power supplies. That's for when the hobby gets out of hand.
Why Proxmox and not plain Docker
You could install Ubuntu and lean on docker compose. I started that way and
ended up migrating, for two reasons.
The first is snapshots. Before touching anything, take a snapshot. If you break something, you're back in fifteen seconds. With Docker on bare metal, when you break the operating system you break it for everything.
The second is LXC containers. Proxmox lets you run system containers that behave like full machines but weigh like a container. A Debian LXC with 512 MB of RAM is perfectly adequate for a small service.
How I split my machines
VM 101 · Docker host · 4 GB · containerised services
VM 110 · Home Assistant · 2 GB · official OS, untouched
LXC 117 · Coolify · 4 GB · deploys my own apps
LXC 120 · Nginx Proxy Manager · 512 MB · single entry point + certs
LXC 130 · Backups · 1 GB · restic to external storageThe key is that last line. A homelab without backups isn't a homelab, it's a time bomb. It took me a year to learn that, and it cost me the Home Assistant database with two years of history.
The three mistakes I made
Exposing services straight to the internet. I opened port 8123 to the world so I could reach Home Assistant from outside. Two days later my logs were full of access attempts. Now everything goes through a single reverse proxy with a certificate, and anything that doesn't need to be public goes over VPN.
Documenting nothing. Six months later I couldn't remember which IP belonged
to which machine or why I'd opened a certain port. Now I keep a README.md in
a private repo with the full map. It takes ten minutes and saves entire
afternoons.
Updating everything at once. If you update Proxmox, the Docker host and the containers on the same Sunday, when something breaks you won't know what did it. One thing at a time.
Is it worth it?
If you're only after savings, the honest answer is that it depends: between hardware and electricity, a homelab takes one to two years to pay for itself against a small VPS.
But if what you want is to understand how the infrastructure you use every day actually works, no course comes close. When a service goes down at eleven at night and you're the one who has to fix it, you learn in an hour what twenty videos wouldn't teach you.