Components
| Component | Binary | Role |
|---|---|---|
| Control plane | zwrmd | Central server that manages apps, deployments, VMs, databases, sandboxes, secrets, and the reverse proxy. Runs Firecracker VMs on the local host. |
| Host agent | zwrm-agent | Runs on additional worker hosts. Receives gRPC commands from the control plane to start/stop VMs, pulls images, and reports resource usage via heartbeats. |
| CLI | zwrm | Client tool for developers. Talks to the control plane REST API. |
Architecture
Single-host
The simplest setup: one server runszwrmd, which handles everything — API, reverse proxy, TLS, image builds, and Firecracker VMs.
Multi-host
Addzwrm-agent on worker hosts to distribute VMs across machines. The control plane schedules workloads using spread or pack strategies.
Prerequisites
- Linux (amd64 or arm64) with KVM support (
/dev/kvm) - Docker daemon (for building app images)
- PostgreSQL database (for control plane state)
- Root access (required for TAP devices, Firecracker, iptables)
Installation
Install the control plane, agent, or CLI.
Quickstart
Go from bare server to running apps in minutes.