Installation: Self Host

Install heyvm

heyvm is the runtime underneath Heyo: a CLI, TUI and local HTTP API that create and run sandboxes through pluggable virtualization backends. Its daemon, heyvmd, keeps a machine's sandboxes reachable over an encrypted tunnel. You need them to run sandboxes on your own machine or to operate your own region. To use Heyo's hosted regions, install heyctl or connect the MCP server instead.

Installer

curl -fsSL https://heyo.computer/heyvm/install.sh | sh

The installer:

  • Detects your OS and architecture (macOS on x86_64/aarch64, Linux on x86_64/aarch64/armv7) and downloads a prebuilt binary.
  • Installs both heyvm and, when available, the heyvmd daemon.
  • Falls back to building from source with cargo if no prebuilt binary matches your platform.
  • Installs to /usr/local/bin when writable, otherwise to ~/.local/bin (it prints PATH guidance when needed).

By default the installer also runs an interactive setup flow that detects which virtualization backends are present on your machine and writes your chosen default to ~/.heyo/settings.json (or $XDG_DATA_HOME/settings.json if set). You can re-run it at any time without reinstalling:

curl -fsSL https://heyo.computer/heyvm/install.sh | sh -s -- --setup

Pass --no-setup to skip it during install. --setup runs the setup flow only, skipping the install itself. You can also change the default backend later from the TUI's defaults screen.

Variable / flag Purpose Default
HEYVM_INSTALL_VERSION / -v Version to install latest
HEYVM_INSTALL_DIR Install directory auto
HEYVM_INSTALL_BASE_URL Release artifact base URL Heyo S3 bucket
HEYVM_INSTALL_REPO Source repo for the cargo fallback heyo-computer/heyo
--no-setup Skip the setup flow during install setup runs by default
--setup Run the setup flow only (skip the install)

Create a sandbox

heyvm create --name my-sandbox --image default
heyvm list
heyvm exec <id> -- echo "hello from inside the sandbox"
heyvm sh <id>
heyvm rm <id>

To force a specific backend, pass --backend (alias --backend-type):

heyvm create --name my-sandbox --backend firecracker --image default

Next