Give your customers a Proxmox VM portal, without exposing the Proxmox UI
NexoVirt's built-in Proxmox customer portal gives each tenant a hard-isolated view of only the servers they own. Every read and every action is re-checked on the server, so one customer can never see or touch another's guest — and your admin panel stays completely separate.
Not Proxmox's own support portal (my.proxmox.com) — this is a customer-facing VM self-service UI you host yourself.
Self-hosted on your own Proxmox nodes. Your customers' data never leaves your infrastructure.
Isolated by design: what each customer can (and can't) reach
A clean interface scoped strictly to their own guests — enforced by server-side ownership checks on every action, IDOR-safe, with optional two-factor auth.
My Servers: their guests only
The portal lists only the VMs and LXC containers assigned to that customer. Server-side ownership checks mean a tenant can never see or interact with another tenant's guest, even if they guess the URL.
In-browser console: no client to install
Customers open an xterm.js serial terminal (or noVNC for graphical VMs) directly in their browser. The Proxmox auth cookie stays server-side and never reaches the browser.
Power controls
Start, shutdown, reboot, and stop are available directly from the portal. Every action is checked server-side against ownership before it reaches Proxmox: customers can only act on their own guests.
SSH key management
Customers add and manage their own SSH public keys in the portal. When provisioning a new server, their keys are automatically injected via cloud-init, no manual copying needed.
TOTP two-factor authentication
Customers can enable TOTP 2FA with recovery codes directly from their portal security page. The same 2FA flow applies to admin accounts, the secret is encrypted at rest.
Live CPU, RAM & network charts
Each guest's detail page shows live CPU, memory, disk, and network metrics. Data is served from NexoVirt's own database: the browser never connects directly to Proxmox.
Proxmox multi-tenant isolation by design
Every portal read and every power action goes through a server-side ownership check before it reaches Proxmox. A non-owned guest returns a 404: no error message, no information leak, no way for one tenant to discover another tenant's VMID or hostname.
The Proxmox web UI, the Proxmox API credentials, and the admin panel are never exposed to customers. Tenant self-service is entirely mediated through NexoVirt's own API layer, which enforces ownership at every endpoint independently of the URL the customer sends.
Each customer's portal session is also isolated from admin sessions. Admins can impersonate a customer account for support purposes: this creates a genuine customer-scoped session, so the existing IDOR protection applies even during impersonation.
What you keep on the admin side
Full control over provisioning, ownership, plans, and every customer action, without customers ever seeing it.
Assign guest ownership
Assign any VM or LXC to a customer from the admin panel, the per-user manage-guests page, or via the REST API. One owner per guest; ownership can be changed or removed at any time.
Impersonate for support
"Log in as customer" switches your admin session into a genuine customer-scoped view: see exactly what they see. One click to return to admin. All impersonation is recorded in the global audit log.
Plans & automatic enforcement
Attach a resource plan (cores, RAM, disk, monthly traffic, expiry, grace period) when creating a guest. NexoVirt enforces it automatically: suspend on expiry or over-limit, delete after grace, resume on reset.
Global audit log
Every login, impersonation, host change, user action, and 2FA event is written to a tamper-evident audit log. Filter and review from the admin panel at any time.
Built on top of Proxmox VE: not instead of it
NexoVirt is a Proxmox-native panel. It does not replace or abstract away Proxmox: it adds a clean management layer and a Proxmox VM customer portal on top of the infrastructure you already run.
Your Proxmox hosts keep doing what they do. NexoVirt communicates with them through the Proxmox REST API, stores a point-in-time inventory snapshot in its own database, and serves that data to the browser, so the customer portal loads instantly and survives a temporary host outage without showing errors to customers.
If you ever need to go deeper (HA, replication, datacenter-level firewall), the Proxmox web UI is still there and fully functional. NexoVirt and Proxmox coexist rather than compete.
What is a Proxmox self-service portal?
A Proxmox self-service portal is a scoped area where each customer manages only their own VMs and containers, power, in-browser console, SSH keys, two-factor auth and live usage, without ever touching the Proxmox web UI or your admin panel. It effectively turns Proxmox into a hosting panel: customers help themselves while you keep full control of the nodes.
Because ownership is enforced on the server for every read and every action, a customer can never see or touch a guest they do not own, so a single Proxmox cluster safely serves many tenants from one panel.
Frequently asked questions
Proxmox customer portal
Add a Proxmox tenant self-service portal today
NexoVirt is available now. Community Edition is free (up to 2 nodes), with direct input into the roadmap.