4. Create the product¶
Setup → Products/Services → Create Product. Give it a name and a group, choose Product Type VPS/Dedicated and Server Module Proxmox VE, set the prices and save. The Proxmox settings open on the product's edit page.
Auto setup
Auto Setup decides when the server is built: as soon as the first payment is received (the usual choice), as soon as the order is placed, or only when an admin accepts the order.
The Proxmox VE virtual servers card reads its lists live from the cluster — pick the server in Lists from at the top right. The summary line above the sections always shows what one order gets.

1 · Resources¶
| Field | Meaning |
|---|---|
| CPU cores | vCPUs of each server |
| Memory (MB) | RAM; 1024 = 1 GB |
| Disk (GB) | Size of the system disk. The template's disk is grown to this; it is never shrunk |
| Monthly traffic (GB) | Shown to you and the customer as a limit; 0 = unlimited. Usage is read from Proxmox every hour |
| CPU sockets | KVM only; leave at 1 unless you know you need more |
| CPU limit | Caps the server to this many cores' worth of time (0 = no cap), e.g. 0.5 for half a core |
| Swap (MB) | LXC only |
Quick fill sets cores, memory and disk to a common size in one click.
2 · Image and placement¶
| Field | Meaning |
|---|---|
| Type | KVM virtual machine or LXC container |
| Node | A fixed node, or Server default / least busy |
| KVM template to clone | The template new servers are copied from. Install ready-made systems under it opens the image library |
| Container template | LXC only: the vztmpl the container is created from |
| Disk storage | Where the new server's disk goes |
| Installer ISO | KVM only: instead of a template, boot an installer (see the note) |
| Login user | KVM only: the user cloud-init creates; root by default |
| Upgrade packages on first boot | KVM only: cloud-init runs the system's upgrade once; the first start is slower |
| Nesting | LXC only: allows Docker inside the container |
| Protect from deletion | On by default. Proxmox's protection flag, so nobody deletes the server by accident in the Proxmox UI. PNLCS lifts it only to terminate, reinstall or restore the server, and puts it back after a reinstall or restore |
3 · Network¶
| Field | Meaning |
|---|---|
| Network bridge | The bridge servers are plugged into, listed from the node |
| IPv4 address | DHCP on the bridge, or one from the server's IPv4 pool (each server gets its own fixed address) |
| IPv6 address | None, or SLAAC (automatic). A container gets it directly, a KVM server through cloud-init (so not one installed from an ISO) |
| DNS servers | Given to the server through cloud-init, e.g. 1.1.1.1 8.8.8.8 |
| VLAN tag | Puts the network card on a VLAN (0 = none) |
| Speed limit (MB/s) | Caps the network card (0 = none) |
| Proxmox firewall | Turns on Proxmox's firewall for the card; the rules themselves are yours to set in Proxmox |
4 · The customer's panel¶
| Field | Meaning |
|---|---|
| Snapshots the customer may keep | 0 hides snapshots from the customer |
| Backups the customer may keep | 0 hides backups; also needs a backup storage on the server |
| Operating systems the customer may reinstall with | Tick the templates to offer and give each a name customers understand. The product's own template is always offered |
5 · Let the customer choose at checkout¶
Tick what the customer may pick when ordering — operating system, memory, CPU cores, disk, additional IPv4 addresses — edit the choices and their extra monthly price, and press Create order options. PNLCS creates the configurable options, links them to the product and shows them in a table. Longer billing periods are charged the monthly price times their months (quarterly = 3×, annually = 12×…).
The values in sections 1–4 are the default; a choice made at checkout
replaces them for that order. Prices can be changed later under
the Configurable Options page (linked from Change prices and choices), where the options appear as, for example,
memory|Memory with choices 2048|2 GB — the part before | is what the
module reads, the part after is what the customer sees.
Writing options by hand
The same convention works for options you create yourself. The keys the
module understands are os, memory, cores, disk, swap,
bandwidth, rate, snapshots, backups and extra_ipv4. A quantity option sets
the number itself, e.g. cores|CPU cores with the quantity the customer
types.
Additional IPv4 addresses¶
With IPv4 address set to the server's pool, the product can also sell
additional addresses: tick Additional IPv4 addresses above and give each
choice (0, 1, 2…) its monthly price, or make an extra_ipv4 option
yourself. A quantity option lets the customer type the number. A server
takes at most 16.
On a product that takes its address by DHCP, Create order options
refuses any choice above 0: "Additional IPv4 addresses come from the
server's IPv4 pool. Set IPv4 address to "One from the server's IPv4 pool"
first, or offer only "No additional address"."
- The addresses come from the same pool as the server's own, and go back to it when the service ends. A pool that cannot give them all refuses the order's set-up, which is retried, rather than giving fewer.
- Each address is on a network card of its own (
net1,net2…) on the product's bridge, without a gateway: the server keeps its route onnet0. A virtual machine learns them through cloud-init, a container directly. This also suits providers that bind each additional address to a MAC of its own. - The customer can buy more later on the service's Upgrade page (Raise options), charged for the rest of the billing cycle. A container gets them at once; a virtual machine when it is next restarted from the panel. An address that staff take away removes its card.
- Which address belongs to which service: Setup → Servers → Capacity, under IPv4 pool. The service page lists them too, and the admin service search finds a service by any of them.
What the customer sees when ordering¶

- the options with their prices for the chosen billing cycle;
- a running summary with each choice and the total;
- Server hostname instead of the domain-purchase box shown for web
hosting. It becomes the server's name; left empty, the server is named
vps-<VM id>. - SSH public keys (optional): up to 10, one per line, in OpenSSH format. They are put on the server when it is built (through cloud-init on KVM, so not on a server installed from an ISO), and the customer can change them when reinstalling. A pasted private key or a line that is not a public key is refused.
Next: order it once yourself and look at the customer's panel.