BareMetalVMM
Spin up Firecracker microVMs like containers, and keep the isolation of a VM
A command-line tool for running lightweight Firecracker microVMs and Kubernetes clusters on bare-metal Linux hosts. VMs boot in seconds with their own kernel, can be built from any Docker image, and are reachable over SSH or a web console.
I wanted something that feels like Docker for day-to-day test environments, but with more isolation than a container gives, and room for lower-level work that doesn’t suit Docker well: custom kernels, kernel debugging builds, whole Kubernetes clusters.
What it does
- Creates, starts, stops and snapshots Firecracker microVMs, each with a dedicated kernel.
- Builds a VM root filesystem from a Docker image, so a custom VM is a Dockerfile away.
- Brings up multi-node Kubernetes clusters with kubeadm and Cilium, or single-node MicroShift.
- Handles bridge networking, NAT, port forwarding and host directory mounts.
- Ships an optional web UI with a browser terminal and a JSON API.
- Supports security-research kernels, including KASAN builds, for vulnerability and exploit testing.
It is personal software, built largely with Claude Code and tested on Ubuntu 24.04 with KVM. It works for me; other environments may need some care.