Bring Kubernetes-like workflows to your existing hosts. Start manual and minimalist, extend as you find fit.
gem install walheim
# Create a context for your homelab
whctl context new homelab --data-dir ~/homelab
# Add your first VM/host
whctl create namespace minipc-01 --hostname 192.168.1.100 --username admin
# Import an existing docker-compose app
whctl import app nginx -n minipc-01 -f docker-compose.yml
# List all apps in minipc-01 namespace/host
whctl get apps -n minipc-01
# View logs
whctl logs app nginx -n minipc-01 --follow
Your laptop is the control plane. No databases, no etcd, no API servers. Just YAML files in a directory you manage and version control.
Uses SSH and rsync to deploy to your VMs. No daemons to install, no ports to open. If you can SSH to it, you can manage it.
Uses Docker Compose under the hood. Simple one-command import from existing docker-compose.yml. Migration is just running `whctl import app`.
Each namespace maps to a physical machine. Manage multiple VMs from one place with kubectl-style commands.
Compiles manifests into plain docker-compose.yml on the host. Need to debug? SSH in and edit the file directly, YOLO-style.
Single gem with minimal dependencies. No complex runtime. Works on any machine with Ruby and SSH. Go/Rust rewrite on the roadmap for single-binary distribution.
Join the community of self-hosters who choose simplicity without sacrificing power.