Home Lab
What would happen if I lost the machine running my home services? I built a small server around that question, then tested a full recovery.
I designed it and keep it running.
One 5W host, two doors
Raspberry Pi 4 · 8GB
- Public
- Cloudflare Tunnel Photos · files · calendar
- Admin
- Tailscale SSH · Postgres · SMB
- Memory
- 7.26 GB allocated 9.25% headroom
- Restore tested
- 1h 45m Under a 2h target
One Raspberry Pi, real responsibilities
The lab hosted public and private services on a Raspberry Pi 4 with 8GB RAM, a 1TB external drive, consumer internet, and no available port forwarding.
8GB, no port forwarding, small budget
The design had to preserve operating-system headroom, remain below a small external-service budget, and recover without depending on the failed node.
Compose, not Kubernetes
I used Docker Compose as Kubernetes would add overhead to a machine that only had 8GB of RAM. Cloudflare Tunnel and Caddy handled public traffic, Tailscale handled administration, and I set memory limits on the containers so I could see what fitted.
I actually ran the restore
I backed it up to Backblaze B2 with rclone encryption, then ran through the restore playbook. The full test took 1 hour 45 minutes on 15 August 2025. At the time, 96GB of backup storage cost $2.82 a month.
Outcome
A full restore completed in 1 hour 45 minutes; 96GB of backup storage cost $2.82 per month at the recorded point in time.