Show HN: Bhatti – Self-hostable Firecracker orchestrator with auto pause/wake
- Each VM has its own kernel, filesystem, and IP
- Idle VMs pause their CPUs and snapshot themselves to disk; the next request wakes them in 3.7ms warm or 360ms cold (p50, Hetzner AX102)
- Publish any port → public URL with auto-wake on first hit
- Pull any OCI/Docker image as a rootfs, or save a running sandbox as one
- Multi-tenant from day one — per-user bridges, encrypted secrets, rate limits
- Single Go binary, Apache 2.0
The decisions page is the most fun read on the site: vsock state after restore, why all snapshots are Full, the systemctl shim, the ARP retransmit trick.
curl -fsSL bhatti.sh/install | sudo bash
(sudo because the daemon needs /dev/kvm and sets up the Firecracker jailer + a bridge; the CLI-only install — pipe to plain `bash` — needs no root)
Site: https://bhatti.sh
Repo: https://github.com/sahil-shubham/bhatti
Decisions & learnings: https://bhatti.sh/docs/under-the-hood/decisions/
Discussion (2)