The hardware
I picked an Intel N100 box: 16GB RAM, 500GB NVMe, fanless, sips ~6W idle. That's enough to run a dozen lightweight containers without breaking a sweat.
The stack
Everything runs as Docker Compose services behind a single reverse proxy:
- Caddy — automatic HTTPS + reverse proxy
- Immich — self-hosted Google Photos replacement
- Vaultwarden — Bitwarden-compatible password server
- Nextcloud — file sync / Dropbox replacement
- Uptime Kuma — status monitoring for everything else
services:
caddy:
image: caddy:2
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
Is it actually worth it?
In its favor: a one-time cost replaces ~$20/mo of subscriptions, your data stays on your own hardware, and it's genuinely fun to learn Docker and networking. The trade-off is real, though — you're now the on-call sysadmin, backups become your problem (3-2-1 or you'll cry), and a power outage means downtime.
Self-hosting without backups isn't self-hosting, it's a countdown. Use restic or Borg to push encrypted snapshots off-site (a cheap object-storage bucket works great).
Verdict
If the words "Docker Compose" make you curious rather than tired, do it. The N100 class of mini PC is the sweet spot for 2025.