Why we built our own panel for Proxmox
Several Proxmox hosts mean several logins, an awkward API and a lot of manual work. How that turned into NexoVirt.
Proxmox VE is a solid piece of software. It does exactly what it was built for: virtualisation on one host or in a cluster. As soon as several clusters are involved, though, daily work gets tedious.
The problem starts with the second host
You notice nothing with the first host. With the second you open a second tab. By the fourth you have a bookmark bar full of web interfaces, four sessions that expire at different times, and no shared view of load, backups or free addresses.
Then there is the API. It is complete, but it is not pleasant. Anyone automating provisioning ends up writing their own layer on top. At some point we had that layer lying around three times in different states of quality.
What we wanted instead
The requirements were short:
- One interface for all hosts, regardless of cluster
- An API you can understand in an afternoon
- Customers may see their own servers, and only their own
- Plans, quotas and expiry enforced automatically
- No changes to the existing Proxmox installation
The last point mattered most. A panel that requires a reinstall is worthless for a system already in production.
How it works today
NexoVirt connects over SSH with a lightweight agent and reads the state of the nodes. The interface shows guests, storage, networks and backups across every cluster. All actions run asynchronously so the interface does not block while a clone runs in the background.
The REST API covers the full lifecycle. If you prefer, you can treat the panel as a read-only view and drive everything through automation.
The full picture lives on the project page.