Servers
A server is a Proxmox virtual machine that zone9 created from an image template and tagged so that anyone — the panel, or an operator looking at Proxmox — can tell whose it is and what it is for.
What runs underneath
Section titled “What runs underneath”| Layer | Technology |
|---|---|
| Virtualisation | Proxmox VE / QEMU-KVM, reached only over the Proxmox REST API |
| Provisioning | Templates cloned per server; guest configuration via cloud-init (Linux) or cloudbase-init (Windows) |
| Disks | Whatever the region’s storage is — ZFS with replication, or Ceph |
| Guest agent | QEMU guest agent, used for the address and state readback |
| Identification | Proxmox tags: a platform marker, the resource identifier, and a role |
The tags matter more than they look. They are how a job finds its own machine after a rename, how the deletion job refuses to touch a machine that is not the one it was asked about, and how an operator in the Proxmox UI can attribute every VM without the panel.
| Plan | vCPU | Memory | Disk |
|---|---|---|---|
s | 1 | 2 GB | 40 GB |
m | 2 | 4 GB | 80 GB |
l | 4 | 8 GB | 160 GB |
xl | 6 | 16 GB | 240 GB |
xxl | 8 | 32 GB | 400 GB |
xxxl | 12 | 64 GB | 640 GB |
An image may declare a minimum memory requirement, in which case smaller plans are hidden when that image is selected — this is why the operating system is chosen before the plan in the create form.
Creating
Section titled “Creating”Sunucular → Sunucu Oluştur (Servers → Create server), or:
curl -X POST https://api.example.com/v1/servers \ -H "Authorization: Bearer $Z9_TOKEN" -H "Content-Type: application/json" \ -d '{"name":"web-1","region":"ist1","image":"ubuntu-24.04","package":"m", "subnet_id":"sub_…","ssh_key_ids":["key_…"]}'Returns 202 with a job. See Your first server for the full walk
through, and Asynchronous operations for how to wait.
Preconditions
Section titled “Preconditions”| Requirement | Why |
|---|---|
| A subnet in the chosen region | The server’s first interface lands there |
| Free capacity in that subnet | Addresses are allocated by the control plane |
| An SSH key, or acceptance of a generated password | Linux images with neither would be unreachable |
Access
Section titled “Access”Console — always available, needs no network. Serial for Linux, VNC for Windows. See Console.
SSH — over the private address from a neighbour, or over a public address once one is attached. The password, if you chose one, is displayed exactly once at creation and is not stored by the panel. Use Şifre sıfırla (Reset password) if you lose it.
Public address — see Public IPs. Attach a firewall first.
Resizing
Section titled “Resizing”Changing the plan requires a power cycle; the panel says so before it acts. Disk growth is one-way — a disk can be enlarged, never shrunk, which is a property of the underlying storage and not a panel limitation.
Start, stop and reboot are jobs like everything else. A stop is a graceful ACPI shutdown with a fallback; the panel reports what actually happened rather than assuming.
Deletion
Section titled “Deletion”Two-phase, and worth understanding before you need it:
- You delete. The server is marked deleting and stopped. Disks still exist.
- A buffer runs — an installation setting, commonly ten minutes. During it you can cancel and get everything back.
- The buffer expires and a job destroys the VM and its disks.
Addresses attached to the server are released back to your organisation, not to the platform: they remain yours to attach elsewhere.
The deletion job re-verifies tags before destroying anything. A machine carrying a platform role — a region agent, a Kubernetes node — is refused unconditionally even if the job names it.
Adopted servers
Section titled “Adopted servers”Virtual machines that already existed when zone9 was pointed at the cluster appear as adopted. They are visible and attributable, but not fully managed: the panel did not create them, does not know what plan they were meant to be, and will not resize or rebuild them. You can attach addresses and firewalls to them.
Limits and known gaps
Section titled “Limits and known gaps”- Disks can grow, not shrink.
- Plan changes require a restart.
- Live migration between nodes is a Proxmox operation; zone9 does not orchestrate it.
- There is no server-level backup product yet; use Proxmox Backup Server at the infrastructure layer.