██╗ ██╗ ██╗ ██╗ ██████╗ ███████╗ ███╗ ███╗ █████╗ ███╗ ██╗
██║ ██║ ╚██╗ ██╔╝ ██╔══██╗ ██╔════╝ ████╗ ████║ ██╔══██╗ ████╗ ██║
███████║ ╚████╔╝ ██████╔╝ █████╗ ██╔████╔██║ ███████║ ██╔██╗ ██║
██╔══██║ ╚██╔╝ ██╔═══╝ ██╔══╝ ██║╚██╔╝██║ ██╔══██║ ██║╚██╗██║
██║ ██║ ██║ ██║ ███████╗ ██║ ╚═╝ ██║ ██║ ██║ ██║ ╚████║
╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═══╝
Run containerized workloads in VMs, powered by Cloud Hypervisor.
Hypeman server runs on Linux with KVM virtualization support. The CLI can run locally on the server or connect remotely from any machine.
Install Hypeman on your Linux server:
curl -fsSL https://get.hypeman.sh | bashThis installs both the Hypeman server and CLI. The installer handles all dependencies, KVM access, and network configuration automatically.
To connect to a Hypeman server from another machine, install just the CLI:
Homebrew:
brew install onkernel/tap/hypemanGo:
go install 'github.com/onkernel/hypeman-cli/cmd/hypeman@latest'Configure remote access:
- On the server, generate an API token:
hypeman-token- On your local machine, set the environment variables:
export HYPEMAN_API_KEY="<token-from-server>"
export HYPEMAN_BASE_URL="http://<server-ip>:8080"# Pull an image
hypeman pull nginx:alpine
# Boot a new VM (auto-pulls image if needed)
hypeman run --name my-app nginx:alpine
# List running VMs
hypeman ps
# Show all VMs
hypeman ps -a
# View logs (supports VM name, ID, or partial ID)
hypeman logs my-app
hypeman logs -f my-app
# Execute a command in a running VM
hypeman exec my-app whoami
# Shell into the VM
hypeman exec -it my-app /bin/sh# Stop the VM
hypeman stop my-app
# Start a stopped VM
hypeman start my-app
# Put the VM to sleep (paused)
hypeman standby my-app
# Wake the VM (resumed)
hypeman restore my-app
# Delete all VMs
hypeman rm --force --allCreate a reverse proxy from the host to your VM:
# Create an ingress
hypeman ingress create --name my-ingress my-app --hostname my-nginx-app --port 80 --host-port 8081
# List ingresses
hypeman ingress list
# Test it
curl --header "Host: my-nginx-app" http://127.0.0.1:8081
# Delete an ingress
hypeman ingress delete my-ingress# TLS-terminating ingress (requires DNS credentials in server config)
hypeman ingress create --name my-tls-ingress my-app \
--hostname hello.example.com -p 80 --host-port 7443 --tls
# Test TLS
curl --resolve hello.example.com:7443:127.0.0.1 https://hello.example.com:7443
# Subdomain-based routing
hypeman ingress create --name subdomain-ingress '{instance}' \
--hostname '{instance}.example.com' -p 80 --host-port 8443 --tls
# Delete all ingresses
hypeman ingress delete --all# View Cloud Hypervisor logs
hypeman logs --source vmm my-app
# View Hypeman operational logs
hypeman logs --source hypeman my-appFor all available commands, run hypeman --help.
See DEVELOPMENT.md for build instructions, configuration options, and contributing guidelines.
See LICENSE.