Back to projects

Homelab

Two Linux servers in my house, running everything I'd otherwise rent from someone else.

I run two Debian servers. One is the only machine facing the internet, the other does the heavy lifting. Everything runs in Docker and is managed through Coolify. Traefik sits on the first server, handles TLS and routes each request by hostname to whichever container serves it.

It hosts photo storage, media, home automation, camera recordings, a few web apps of my own and a Postgres database those apps share. All of it on my own domain, and reachable from my phone over WireGuard.

The migration

In 2026 I moved most of the workload from one server to the other. Two camera streams were using so much that everything else slowed down. It took three days: copying volumes over SSH, syncing bind mounts with rsync, dumping and restoring databases, updating DNS and proxy rules, and testing each service before moving the next one.

A few things I learned along the way. A cloned volume gets a new identifier. Secrets managed by Coolify are regenerated when you recreate a resource, so you copy them out first. And my health script kept overwriting its own output, which left me with no before and after to compare.

Backups

Since the migration I've decided on purpose what's allowed to be lost. Media, old camera footage and logs can go. The configuration, the proxies, the networks and recent work have to be recoverable.

The bulk storage is a volume across two disks with no redundancy. That's a choice: lots of space for things I can live without, and real backups for the rest.