Core
Multi-server & Nodes
Node workloads, Nixpacks/Railpack builds, volumes, databases and optional Swarm.
Deploy workloads across multiple servers. Remote nodes run the same NineDeploy binary with NINEDEPLOY_AGENT=1, communicating over a strictly typed RPC protocol.
Zero-Touch SSH Provisioning
Bootstrap fresh Linux VPS instances directly from the web dashboard. Enter IP, SSH user, and private key — NineDeploy connects, installs Docker and dependencies, configures the agent, and securely links it to your cluster.
Security & Validation
- Deploy operations use typed requests for Docker, Compose and Git. Interactive terminals use a separate operator-only channel, encrypted and authenticated, requiring agent v0.15.0 or newer.
- Operand validation regexes enforced at both controller and agent boundaries.
- Node health monitoring with heartbeat pings and CPU/memory metric streaming.
- Updated agents run Docker and Compose plus Nixpacks/Railpack builds. PM2 remains on the panel host. Remote health uses container state instead of the local HTTP probe.
- Build on the runtime host, panel or build server, then transfer the image over the sealed channel or a bound registry. The running service stays up if building or transfer fails.
- Node volumes and managed databases support encrypted backups and restore. Attach databases only to services on the same host; Studio, PgBouncer and public access are unavailable for node databases.
- Agent versions and feature switches are visible under Servers, with explicit refusal reasons. Swarm is optional and requires each node owner's opt-in.
The canonical guides live in the repository's MULTI_NODE.md.