Skip to content
The agent What the MZPanel agent is, how it runs on your VPS, and how it stays up to date.

The agent

The agent is the only thing MZPanel installs on your VPS. It’s a single static Go binary that holds one outbound WebSocket to the control plane and runs work locally.

  • One process, mzagent, managed by systemd (mzagent.service).
  • No runtime dependencies — it cross-compiles for amd64 and arm64.
  • It carries a native engine: site, backup, database, Docker and other operations run inside the agent itself. (Earlier versions shelled out to a Bash mz CLI; that has been retired in favour of the native engine.)
  • Ubuntu 24.04 LTS
  • 1 CPU / 1 GB RAM minimum
  • Idles around ~15 MB RAM
  • Only outbound HTTPS:443 required — no inbound ports, no domain on the VPS

The agent dials outbound to wss://ws.mzpanel.com:443 and keeps one persistent connection that carries a heartbeat, metrics, commands, and pushed events. NAT and firewalls don’t matter because nothing connects to your VPS. See Architecture.

The agent can update itself safely: it downloads the new binary, verifies an Ed25519 signature and SHA-256, sanity-runs it, then does an atomic swap and restart. Rollouts are staged (canary → wider percentages) so a bad build never hits everyone at once. You can set the update policy (pinned / manual / security / auto) per server or per workspace.

Deleting a server in the dashboard soft-deletes it and disconnects the agent; the sites and data on the VPS are left untouched. See Install the agent for the install/uninstall commands.