ProxCP Admin - KVM

From ProxCP Documentation

KVM View

This page presents a table of all KVM services in ProxCP. The table shows relevant account information and allows Admins to manually suspend, unsuspend, and delete KVM accounts.

Suspending a service disables all ProxCP management features for that service. Unsuspending a service will re-enable these features.

Deleting a KVM service from this page will only delete the service details from ProxCP. You must also manually delete the KVM VPS on the associated Proxmox node to fully remove it.


Before creating a new KVM service, you must add one or more KVM ISOs or KVM Templates to ProxCP.

To add a KVM ISO, click ADMIN > KVM > Manage KVM ISOs. This page will scan your first Proxmox node for KVM ISOs that are not yet added in ProxCP then allow you to add them.

Alternatively, you can add KVM ISOs manually by going to ADMIN > KVM > Manage KVM ISOs. In the Friendly Name field, enter a name for the ISO such as "CentOS 7". In the volume ID field, enter the volume ID of the ISO file. The format for this is {storage_name}:iso/{file_name}. For example, if the KVM ISO was stored in the "local-lvm" Proxmox storage, the volume ID would be local-lvm:iso/centos.iso.

ProxCP assumes that all added KVM ISOs are available on all added Proxmox nodes.

KVM Templates

There is documentation regarding KVM templates here: ProxCP KVM Templates

On the Admin side of things, you need to tell ProxCP about the templates on the ADMIN > KVM > Manage KVM Templates page.

  • Friendly Name: the friendly name to identify this template, such as "CentOS 7"
  • VMID: the VMID of the template in Proxmox
  • Template Type: whether the template is Linux or Windows. This setting determines if cloud-init is used or not among other VPS configuration options
  • Node: which node(s) is/are this template available on? Unlike KVM ISOs and LXC templates, KVM templates do not need to be available on all Proxmox nodes

KVM Creation

ADMIN > KVM > Manage KVM

  • User ID: which user should this service be assigned to?
  • Billing Account ID: what is the billing ID of this service? Generally, this should be synced with a service/account/billing ID from a billing platform like WHMCS or Blesta but it can be any globally unique number
  • Pool ID: name of the Proxmox pool that should be created and used for this VPS. This can be in any format, but we recommend "client_{client_id}_{billing_id}" such as "client_104_2". This value should also be globally unique
  • Node: which Proxmox node should this VPS be placed on?
  • KVM Hostname: the arbitrary hostname of this VPS
  • KVM NAT Enabled: is this service NAT-enabled?
    • NAT Public Ports: how many NAT ports should this NAT service be allowed to use?
    • NAT Domain Forwarding: how many NAT domains should this NAT service be allowed to have?
  • Operating System Installation Type: whether to use an ISO file or a template for installation
  • Operating System: choose an ISO file or KVM template to use
  • Operating System Type: the KVM ISO/template type
  • KVM NIC Driver: which NIC driver to use for the VPS
  • KVM Storage Driver: which storage driver to use for the VPS
  • IPv4: the IPv4 address assigned to this VPS
  • IPv4 Gateway: the IPv4 gateway that should be used
  • IPv4 Netmask: the IPv4 netmask that should be used
  • KVM CPU Cores: how many CPU cores should this VPS have?
  • KVM CPU Type: which CPU type should this VPS use?
  • KVM RAM: how much RAM should this VPS have?
  • KVM Storage Location: where should the virtual disk for this VPS be located?
  • KVM Storage Size: how big should the virtual disk for this VPS be?
  • KVM Bandwidth Limit: how much bandwidth should this VPS get each month?
  • Network Speed Limit: optionally set a network speed limit on this service
  • MAC Address: optionally set your own MAC address for this service instead of a randomly generated MAC address