VDS with Proxmox
Connect Proxmox VE to FeatherPanel with an API token, register VM templates and an IP pool, then create and manage VDS instances for your users.
On this page
A VDS (virtual dedicated server) in FeatherPanel is a virtual machine on a Proxmox VE host. The panel clones a template, sets resources and network through cloud-init, and gives the owner a VM page to manage it.
1. Create a VPS location
VDS nodes can only join locations of type VDS / VPS. Create one under Locations. The type cannot be changed later.
2. Create a Proxmox API token
In Proxmox, create an API token for the account the panel should use (Datacenter, Permissions, API Tokens). Give the account the rights for what the panel will do on that node: creating, cloning, configuring, starting and deleting VMs, and using the storages and bridges you pick.
3. Add the VDS node
Admin area, Nodes (VDS), Create VDS Node. Then, on Edit VDS Node:
| Tab | Settings |
|---|---|
| Details | Name, description, location. |
| Connection | Proxmox user (root@pam or apiuser@pve), token ID (without the user prefix), token secret, hostname or IP, scheme, port, TLS verification, timeout. |
| Advanced | Extra HTTP headers and query parameters sent with every API request, for a reverse proxy in front of Proxmox. |
| Storage Configuration | Storages for disk images, the EFI disk (efidisk0), TPM state (tpmstate0) and vzdump backups. |
| IP Pool | Public IPv4 addresses with CIDR, gateway and notes. Add one or a bulk list. Mark the Proxmox host’s own address as primary so it is not assigned to a VM. |
| Templates | VM templates registered by name and Template VMID (below). |
| Info | Live Proxmox VE version, CPU, memory and storage use, and the cluster nodes visible from this endpoint. |
Use Test connection on the node list to check the token, host and TLS settings.
Templates
A template is a VM you converted to a template in Proxmox (right-click the VM, Convert to template), for example a Debian or Ubuntu cloud image. In the Templates tab, Add template lists the VMs on the node; pick one and its name and VMID are filled in. Set the guest type to QEMU/KVM or LXC. For LXC you can note a default root password, which is only shown to users: the panel does not set it. The tab has a QEMU/KVM and an LXC tutorial.
4. Create a VDS instance
Admin area, Virtual Servers (VDS), Create VDS Instance:
- Node & template. VDS node, Proxmox cluster node, and a QEMU/KVM template.
- Resources. Memory (MB), CPUs, cores per CPU, disk (GB), storage, bridge, start on boot, one free pool IP per network interface, backup limit (0 disables backups) and backup retention.
- Details & owner. Hostname (letters, numbers and hyphens), owner, cloud-init user and password. The password is only shown here, so store it.
- Review & create. The panel clones the template and reports progress until the VM is ready.
Managing instances
Edit instance has Details (hostname, notes, owner), Network, Resources, Disks (resize, for example +5G, or remove)
and Task history. Suspend needs a reason for staff and emails the owner; unsuspend gives access back. An IP that is in
use by a VM cannot be deleted from the pool.
API
| Method | Path | Permission |
|---|---|---|
| GET, PUT | /api/admin/vm-nodes | admin.nodes.view, admin.nodes.create |
| GET, POST | /api/admin/vm-nodes/{id}/test-connection | admin.nodes.view |
| GET | /api/admin/vm-instances | admin.nodes.view |
| PUT | /api/admin/vm-instances | admin.nodes.create |
| GET | /api/admin/vm-instances/creation-status/{creationId} | admin.nodes.view |
Frequently asked questions
No daemon is needed. The panel talks to the Proxmox VE API over HTTPS with an API token.
QEMU/KVM. The panel warns that LXC is not recommended for public hosting because it lacks KVM virtualization and isolates guests less well.
Not yet. The Firewall and DHCP Agent tabs on a VDS node are placeholders for features still in development.