Ramblings of an aging IT geek
← Ramblings of an aging IT geek
homelab

bringing the small stuff back home

Why I pulled a handful of low-traffic personal services off rented VMs and back onto hardware in the spare room, and what the trade actually cost.

A server rack with cabling

I added up the rented VMs the other evening and the number was a bit silly. Nothing huge, just a Bitwarden vault, a wiki, a couple of bots, a Gitea instance, all sat on small cloud boxes that mostly idled. The aggregate was creeping past what a decent mini-PC costs every couple of months. So I brought most of it home.

The thing that changed my mind wasn't the money, though the money helped. It was realising none of these services need to be on the public internet at all. They need to be reachable by me, on my phone, occasionally from a coffee shop. That is a very different requirement to "globally available", and I had been paying for the harder version out of habit.

So the plan was small and boring on purpose. One mini-PC, an N100 thing with 16GB of RAM, running Debian. Everything in Docker Compose, one stack per directory, nothing clever. The only piece of public surface is a WireGuard endpoint, and everything else lives behind it on a private subnet.

A small homelab setup on a shelf

The migration itself was mostly rsync and patience. Vaultwarden's data is a SQLite file and an attachments folder, so that moved in seconds. Gitea was a database dump and a restore. The wiki was a tarball. The genuinely annoying part, as ever, was DNS and certificates. I run a small internal CA now and trust it on my devices, which sounds heavier than it is, and means I stop juggling Let's Encrypt for things nobody outside the WireGuard tunnel can see.

What did it actually cost me? Honesty first: a weekend, and the loss of someone else's uptime. If my home connection drops, or the power blips, my vault is unreachable until I'm back. I've made peace with that for these particular services because none of them are load-bearing for anyone but me, and Bitwarden caches locally anyway. The mini-PC draws about 10W at idle, which is rounding error on the electricity bill.

The bit that surprised me was how much calmer it feels to own the whole thing. No more wondering whether a provider will quietly change their pricing or sunset a region. When something breaks it's mine to fix, and the fix is in the next room rather than buried in someone's support queue. I'm not evangelical about it. Some things genuinely belong on infrastructure I don't have to babysit. But for the small, personal, mostly-idle services, home turned out to be exactly the right size.