Homelab Docker Compose
Simplified

Bring Kubernetes-like workflows to your existing hosts. Start manual and minimalist, extend as you find fit.

Quick Start
$ 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

Built for Self-Hosters

File-Based Control Plane

Your laptop is the control plane. No databases, no etcd, no API servers. Just YAML files in a directory you manage and version control.

No Agents Required

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.

Powered by Docker Compose

Uses Docker Compose under the hood. Simple one-command import from existing docker-compose.yml. Migration is just running `whctl import app`.

Multi-Machine Management

Each namespace maps to a physical machine. Manage multiple VMs from one place with kubectl-style commands.

Direct Access to Compose

Compiles manifests into plain docker-compose.yml on the host. Need to debug? SSH in and edit the file directly, YOLO-style.

Pure Ruby (For Now)

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.

Start Building Your Homelab

Join the community of self-hosters who choose simplicity without sacrificing power.