What is MZPanel
MZPanel is a cloud dashboard for managing a fleet of WordPress VPS from one place.
You install a lightweight agent on each server; from then on you manage every
box — sites, backups, SSL, PHP, databases, Docker, DNS and more — from
app.mzpanel.com, without ever opening a port or SSH-ing in. Think FlashPanel,
RunCloud or GridPane, with a native engine and an agent that dials out.
The idea in one picture
Section titled “The idea in one picture”You do something in the dashboard. That action travels to the right server’s agent over a persistent WebSocket. The agent runs it natively on the VPS and streams the output back to your browser in realtime.
[you] app.mzpanel.com ──► api.mzpanel.com ──ws──► agent (native engine) ──► VPS ▲ │ └────────── stream ◄───────┘There are no inbound ports on your server, no domain required on the VPS, and NAT or a firewall doesn’t get in the way — because nothing ever connects to your box.
The pieces
Section titled “The pieces”MZPanel is a small set of parts, each with one job:
- Dashboard (
app.mzpanel.com) — the web app where you do everything. A fast single-page app; auth-walled, no marketing, just management. - Control plane (
api.mzpanel.com) — the cloud brain. It stores your account, team, servers (metadata + last-seen), licenses and the audit log, and it relays your commands to the right agent over the WebSocket gateway (ws.mzpanel.com). - Agent — one tiny Go binary (
mzagent) on each VPS. It holds the outbound WebSocket and carries a native engine that actually performs the work locally. See The agent. mzCLI — the same operations exposed as a friendly command-line tool on the box, for when you’d rather SSH in and type. See The mz CLI.- This site (
mzpanel.com+docs.mzpanel.com) — the public landing page and the docs you’re reading now, built as a static site for speed and so AI agents can read them.
Two ways to drive it
Section titled “Two ways to drive it”MZPanel gives you two parallel, non-exclusive modes over the same engine — use whichever fits the moment:
- Web mode — click Create site, Run backup or Switch PHP in the dashboard. The action is sent to the agent, run natively, and reflected back in the UI. This is how most people use MZPanel most of the time.
- CLI mode — SSH into the VPS and run the
mzcommand directly, e.g.mz site create example.com. Nothing is hidden behind the panel: the box is still yours, and the CLI drives the same operations the dashboard does.
Because both modes go through one engine, they never fight each other — a site you create on the command line shows up in the dashboard, and vice versa.
Where the truth lives
Section titled “Where the truth lives”MZPanel deliberately does not keep a full mirror of each server’s state — that would drift and lie. Instead:
- On each VPS — the on-box registry under
/etc/mz/is the source of truth for that server. The agent reads and writes it directly, and reads live facts (running services, disk, sites) straight from the machine. - On the control plane — Postgres stores only the account-level truth: users, teams, server metadata and last-seen, licenses and the audit trail.
So the dashboard always shows the real box, read live through its agent — not a stale cached copy pretending to be current.
What you can manage
Section titled “What you can manage”Once a server is online you get, per box: WordPress and other sites (static / PHP / Node / Python / Go), backups, SSL, PHP versions, databases, Docker apps and stacks, DNS & TLS, cron, monitoring, a managed WAF and more — plus fleet-wide views like uptime checks and team roles. The Dashboard tour maps out where each of these lives.
MZPanel has four plans — Free, Plus, Pro and Max — and your plan sets your VPS quota (how many servers you can connect) plus which features are unlocked. Free connects one VPS at no cost. See Tiers & quotas for the full comparison.
Gotchas & troubleshooting
Section titled “Gotchas & troubleshooting”- The VPS needs only outbound HTTPS. The agent dials out to
wss://ws.mzpanel.com:443. If a server never comes online after install, the usual cause is outbound 443 being blocked — not a missing inbound rule. - Offline is not broken. If the control plane is briefly unreachable, the agent keeps its cached license verdict for a 7-day grace window and keeps working; the dashboard shows the last-known state with an “agent offline” banner until it reconnects.
- This isn’t a WordPress-only host. WordPress is the headline, but a server also runs static, PHP, Node, Python and Go sites, plus Docker apps and databases.
Related
Section titled “Related”- Getting started — install the agent and connect your first VPS.
- Dashboard tour — how
app.mzpanel.comis laid out. - Architecture — the control plane, dial-out and native engine.
- The agent — what runs on your VPS.
- Tiers & quotas — plans, quota and enforcement.