Server settings
Nội dung này hiện chưa có sẵn bằng ngôn ngữ của bạn.
The Settings section of a server (/servers/:id/settings) holds the handful of
options that are genuinely server-scoped and have no other home: its identity
(label, hostname, timezone, notes, tag), its published IP address, and a Danger
zone for reboot, cache-clearing and removal. Everything else that used to live
here — PHP, DNS/TLS, mail, security, disk — now has its own dedicated section.
Available on all plans.
Edit server basics, step by step
Section titled “Edit server basics, step by step”- Open Server basics (top card). It shows the Server ID (click to copy) in the header.
- Change any of the fields:
- Server label — a friendly name shown across MZPanel. Control-plane only.
- Hostname — the machine’s real hostname; running Save applies it on the box.
- Tag — group and classify servers by purpose (use the + button to create or manage tags).
- Timezone — the box’s system timezone.
- Notes — private notes only your team sees.
- Click Save Changes. The button shows a spinner, then Saved. Label, notes and tag save instantly; hostname and timezone run on the server through the agent, so they need it online — an inline note tells you when a change will apply on the box.
What else you can do
Section titled “What else you can do”- Confirm a new server IP — the Server IP card compares the Stored IP (what MZPanel publishes for DNS, WireGuard and load balancers) against the Detected IP the control plane saw on the agent’s last connect. If they differ, an IP changed badge appears; click Confirm new IP to adopt it. MZPanel then re-applies the dependent jobs (WireGuard mesh peers, load-balancer backends) and refreshes DNS A/AAAA records automatically. A blast-radius line tells you exactly how many peers and backends will be re-run before you confirm. Only IPv4 is editable here; IPv6 is read-only.
- Clear all caches (Danger zone) — restart PHP-FPM (flushing OPcache) and purge the Nginx FastCGI/proxy cache. Redis data is left intact.
- Reboot server (Danger zone) — restarts the box; all sites go offline for ~30s and in-flight jobs are interrupted. A confirmation dialog names the server first.
- Remove from account (Danger zone) — de-authorises the agent so the VPS leaves MZPanel. Your websites, databases and files keep running untouched. You confirm by typing the server’s IP (or its name if no IP is known).
How it works
Section titled “How it works”The page splits cleanly between control-plane edits and on-box operations:
| Action | Where it runs | Drives |
|---|---|---|
| Label / notes / tag | Control plane | PATCH /v1/servers/:id |
| Hostname | Box, then persisted | system.set-hostname job → PATCH /v1/servers/:id/hostname |
| Timezone | Box | system.set-timezone job |
| Confirm new IP | Control plane | PATCH /v1/servers/:id/ip (reads GET /v1/servers/:id/ip) |
| Clear all caches | Box | system.clear-caches job |
| Reboot server | Box | system.reboot job |
| Remove from account | Control plane | DELETE /v1/servers/:id |
- Identity that lives only in MZPanel (label, notes, tag) is a Postgres update — no agent needed. The label is unique per account, so a duplicate name is rejected.
- Hostname is a two-step operation: the agent runs
hostnamectlon the box, then MZPanel stores the hostname the box actually applied. Without that second write the value would revert on reload. - Confirm new IP never disconnects the server — the agent dials out by token, so the box’s public IP is cosmetic to the connection. Confirming exists purely to re-run the jobs that hard-code the address (mesh endpoints, LB backends); DNS glue refreshes on the next pull, so it’s reported as a flag, not a job.
- Remove is a soft-delete: the token is revoked and the name freed for reuse. If
the agent is online at the time, MZPanel also tells it to self-uninstall (removing
mzagentandmzfrom the VPS — sites and data are left alone).
CLI & automation
Section titled “CLI & automation”The identity, tag and remove actions are control-plane operations with no mz
equivalent, but the on-box operations map to real mz system commands — the same
engine the dashboard drives. SSH in and run them directly, or let an on-box AI
(ClaudeCode) run them:
mz system set-hostname vps1.example.com --json # hostnamectl on the boxmz system set-timezone Europe/Amsterdam --json # set the system timezonemz system clear-caches # restart FPM + purge Nginx cachemz system reboot # reboot the machineSee The mz CLI and the command catalog. For fleet-wide identity/tag automation across many servers, use the control-plane API (Max plan).
Gotchas & troubleshooting
Section titled “Gotchas & troubleshooting”- Save is partly held locally. Label, notes, tag, hostname and timezone are all persisted; there is no “power off” action by design — a cloud VPS won’t come back without the provider’s console, so the panel never exposes it. Only reboot is offered.
- Hostname reverts after refresh? That only happens if the second persistence step didn’t run (agent dropped mid-save). Re-save with the agent online; MZPanel stores the exact hostname the box reports back.
- “Confirm new IP” did nothing visible. That’s expected when nothing references the old IP — with zero mesh peers and zero LB backends there are no jobs to re-run, and DNS refreshes silently on the next pull. The Stored value still updates.
- Removing a server doesn’t wipe the VPS. It de-authorises the agent and, if the box is online, self-uninstalls the agent binary. Your sites and data stay live. If the box was offline when you removed it, the agent is not auto-uninstalled — run the uninstall command on the VPS yourself afterwards.
- Type-to-confirm uses the IP. The remove dialog asks you to type the server’s IP (harder to fat-finger than a name); it falls back to the server name only when no usable IPv4 is known.
Related
Section titled “Related”- Storage — disk usage and cleanup, moved out of Settings.
- OS updates — patching and reboot history.
- Services — the daemons a reboot restarts.
- The mz CLI — driving the box from the command line.