Guide · For administrators
Introduction
KoaVM is the panel to sell and manage VPSs on Incus. One program does everything: API, interface for you and your customers, job queue, charts, console, migration from other panels.
How it works
- The panel runs on one server (it can be one of the nodes). It is a single binary,
koavm, with its SQLite database in/var/lib/koavm. - Nodes are the servers where VPSs run, with Incus installed. The panel talks to Incus through its API with a certificate: nothing to install on the nodes.
- VPSs are Incus KVM virtual machines. They start from the official images (Debian, Ubuntu, AlmaLinux, Rocky Linux) with static network, root password and SSH key already set.
- Providers (OVHcloud, Hetzner, Contabo, Scaleway) connect with their API keys: the panel takes the additional IPs from there and, if you want, resells their VPSs under your brand.
Who sees what
| Administrator | Customer | |
|---|---|---|
| Address | /admin | / (customer area with your brand) |
| VPSs | all | only their own |
| Nodes, IPs, plans, providers | yes | no |
| Snapshots and backups | yes | within the plan limits |
Requirements
- Panel: Debian 12/13 or Ubuntu 22.04/24.04; 1 vCPU and 1 GB of RAM are enough. Automatic HTTPS needs a domain name and ports 80 and 443 free.
- Nodes: Incus 6 or newer, with virtualization enabled (KVM). A ZFS storage pool is recommended; LVM, dir and btrfs also work.
- Network: a bridge for the VPSs on the node (usually
br-vps) or the providers' IPs (the panel creates the right network interfaces on its own).