Provision VMs. Deploy devcontainers.
Swarm manages the full lifecycle of cloud VMs and the devcontainers that run on them — create, bootstrap, deploy, and tear down with one CLI.
What is Swarm?
Section titled “What is Swarm?”Swarm is a client/server tool that provisions virtual machines and deploys devcontainers on them. It manages the full lifecycle: VM creation, bootstrapping (Docker, Node.js, devcontainer CLI, swarm-agent), container deployment, and teardown.
- One CLI —
swarmtalks to a single control-plane server. All cloud credentials, SSH keys, and agent binaries live server-side. - Devcontainers first — deploy a repo and get a working container environment, the same one you use in VS Code, running on your own VM.
- Secure by default — the API is protected by mutual TLS with one-time enrollment, serial-based revocation, and CA-signed client certificates.
- Batch and scale — deploy a repo across many VMs with a single command and automatic placement.
Architecture
Section titled “Architecture”CLI (swarm) --HTTPS (mTLS)--> Server (swarm-server) --SSH--> Agent (swarm-agent) | Docker containersThree components:
| Component | What it does |
|---|---|
swarm |
CLI client. Sends HTTPS requests to the server; handles interactive operations directly via SSH. |
swarm-server |
Control-plane daemon. Manages the registry, talks to cloud providers (UpCloud), bootstraps VMs, and communicates with agents over SSH. |
swarm-agent |
Runs on each VM. Manages Docker containers via the devcontainer CLI and reports status back to the server. |
The CLI only needs the server URL and a one-time enrollment to operate.
Install
Section titled “Install”# CLI on macOSbrew tap hyperengineering/tapbrew install swarm
# Server on Debian/Ubuntucurl -fsSL https://apt.fury.io/neuralmux/gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/neuralmux-keyring.gpg > /dev/nullecho "deb [signed-by=/usr/share/keyrings/neuralmux-keyring.gpg] https://apt.fury.io/neuralmux/ * *" | sudo tee /etc/apt/sources.list.d/neuralmux.listsudo apt updatesudo apt install swarm-serverDocker images are published to
ghcr.io/hyperengineering/swarm-server.
Status
Section titled “Status”Swarm is in beta (v0.8). The API and CLI are stable in practice but not frozen. See Known limitations for the current boundaries.
Built by NeuralMux. Licensed under MIT.