Kiến trúc
MZPanel có hai thành phần chính: control plane (cloud) và agent (trên VPS khách). Agent mang sẵn native execution engine — các thao tác site, backup, database, Docker… chạy ngay trong agent.
Connection model — agent dial-out
Phần tiêu đề “Connection model — agent dial-out”Agent dial outbound tới wss://ws.mzpanel.com:443. VPS khách không mở port
nào, không cần domain, không dính NAT. Mỗi VPS = một WebSocket bền mang:
- Heartbeat mỗi 30s
- Push status/metrics (CPU, RAM, disk, số site)
- Command từ web → exec → stream stdout/stderr về
- Event đẩy lên (backup done, SSL renewed, …)
[web] app.mzpanel.com ──► api.mzpanel.com ──ws──► agent (native engine) ──► VPS ▲ │ └────────── stream ◄───────┘Source of truth
Phần tiêu đề “Source of truth”- Trên VPS khách:
/etc/mz/*— registry trên VPS. Agent đọc/ghi trực tiếp, control plane không tự giữ bản sao state của VPS. - Trên control plane: Postgres lưu users, orgs, servers (metadata + last-seen), licenses, audit log. Không mirror toàn bộ state VPS.
Vì sao tách web khỏi dashboard?
Phần tiêu đề “Vì sao tách web khỏi dashboard?”Trang public này (mzpanel.com) chạy Astro static để tải nhanh + SEO + cho
AI/MCP đọc nội dung thô. Dashboard (app.mzpanel.com) là SPA riêng. Xem
/llms.txt để LLM lập bản đồ tài liệu.