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

moving services off the cloud and back home

Why I pulled a handful of small VPS-hosted services back onto a box in the cupboard, and what that actually cost me in time and sleep.

A server rack with cabling

I spent a long Saturday moving most of my small services off various cloud providers and onto a single box at home. The trigger was dull: a billing email. Not a huge one, but enough little £4-a-month instances had accreted over the years that the total had quietly become a number I'd rather not pay for things that mostly idle.

So I added it up. A DNS-secondary I'd forgotten about, a tiny VPS running a Gitea mirror, another running an RSS reader, a third that did nothing but hold a Wireguard endpoint. None of them were working hard. Most were sat at 1% CPU waiting for a request that came a few times an hour. I was renting compute by the month to do almost nothing, and paying for the privilege of someone else patching the kernel.

The box at home is not glamorous. It's a second-hand Dell with a sensible amount of RAM and a pair of SSDs in a mirror. Everything now runs as a Docker Compose stack per service, behind a single reverse proxy doing TLS with Let's Encrypt. The reverse proxy is the one piece I thought hardest about, because it's the bit that turns "a computer in a cupboard" into "things on the internet", and that's exactly where you don't want to be sloppy.

A homelab server on a shelf

The honest accounting is that I haven't saved money yet. The hardware, the slightly larger electricity bill, and the evening I spent getting the dynamic DNS and the firewall right all have to be paid back first. What I have bought is control, and a much shorter feedback loop when something breaks: I can docker logs the actual container rather than guessing through a provider's console.

The things I deliberately left in the cloud are the ones where being at home is a liability rather than a feature. The DNS secondary stays remote, because the entire point of a secondary is that it doesn't share a failure domain (or a power supply) with everything else. Offsite backups stay offsite, obviously. And anything I'd be genuinely embarrassed to have go dark during a house move stays somewhere with a proper SLA and someone else's pager.

If you're thinking about doing the same, my one piece of advice is to be ruthless about what genuinely benefits from coming home. "It's cheaper" is a weak reason on its own, because your time isn't free and neither is downtime at 2am. "I want to understand it end to end, and it doesn't matter much if it blips" is a much better one. Most of my little services pass that test easily. The cupboard is warmer now, and so am I about the whole arrangement.