KoaVM
Guide pages

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

AdministratorCustomer
Address/admin/ (customer area with your brand)
VPSsallonly their own
Nodes, IPs, plans, providersyesno
Snapshots and backupsyeswithin 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).

Where to start

  1. Install the panel.
  2. Connect the first node.
  3. Add an IP block and create a plan.
  4. Create a customer and their first VPS.