Self-service virtual machine deployment purpose-built for Proxmox VE.
ProxCloud is an open-source web platform for deploying isolated virtual machines from preconfigured templates and providing users with remote access to those machines through RDP.
The project puts a simple web interface between users and the underlying Proxmox infrastructure, allowing users to provision and access virtual machines without requiring direct access to Proxmox itself.
The ProxCloud user dashboard — the central interface for managing and accessing virtual environments.
The dashboard is the central interface for users. It provides a single place to view their current virtual machines and access the workflow for creating new environments.
From the dashboard, users can see the environments assigned to them and begin the process of creating a new VM from an approved template.
The underlying Proxmox infrastructure remains hidden from the end user. ProxCloud provides the application layer through which users interact with their virtual environments.
Important
Status: Early development.
ProxCloud currently focuses on establishing the architecture and workflow for template-based VM deployment and remote access. Some functionality shown or described in the interface is still under active development.
ProxCloud is currently intended for self-hosted deployments.
- Proxmox VE
- Docker
- Python 3.13+
- A Proxmox API token
git clone https://github.com/beta-oss/proxcloud.git
cd proxcloudCopy the example environment configuration:
cp .env.example .envConfigure the Proxmox API connection and database settings:
PROXMOX_HOST=proxmox.example.com
PROXMOX_NODE=pve01
PROXMOX_TOKEN_ID=...
PROXMOX_TOKEN_SECRET=...
DATABASE_URL=...
DATABASE_USER=...
DATABASE_PASS=...docker compose up -dWhen you first run ProxCloud, you will have to make an administrato account via the cli:
docker compose exec portal python -m app.cli create-admin \
--username admin \
--email you@example.comYou will then be prompted for a password.
Navigate to the ProxCloud web interface and sign in.
From there, administrators can configure available VM templates and users can access the self-service VM workflow.
Detailed deployment instructions and usage documentation will be expanded as the project moves toward its first stable release.
ProxCloud is deliberately starting with a narrow scope. The first intended release, v1.0-alpha, focuses on providing a secure, self-service workflow for deploying and remotely accessing template-based virtual machines on Proxmox VE.
- Proxmox API integration
- VM discovery and template catalogue
- User accounts and production-ready authentication
- Administrator controls and template approval
- User dashboard
- User VM management and lifecycle handling
- Template-based VM deployment
- Automatic VM inactivity handling
- Remote VM access via RDP
- HTTPS reverse-proxy configuration
- User and developer documentation
Following v1.0-alpha, development will focus on expanding ProxCloud's self-service capabilities, security, and integration with the wider Proxmox ecosystem:
- Role-based access control, VM ownership, and resource quotas
- Advanced VM configuration, including Cloud-Init, networking, and SSH keys
- Portal-based VM template creation and configuration
- Snapshots and additional VM lifecycle management
- Multi-node Proxmox support
- API and CLI access
- Additional remote-access and infrastructure integrations
The long-term goal is to evolve ProxCloud into a complete self-service management layer for Proxmox VE. The project will continue to prioritise reliable VM deployment and remote access before expanding into broader infrastructure management.
Managing virtual machines directly through a hypervisor interface is powerful, but it can be unnecessarily complex for users who simply need a temporary or isolated computing environment.
ProxCloud was inspired by the need to provide investigators with dedicated, isolated workstations while maintaining accountability over the environments in which investigation-related work is performed.
The platform is designed around the idea that actions within an investigation environment should be attributable to a specific user and recorded for auditing, supporting organisational accountability, archival, and chain-of-custody processes.
ProxCloud provides an Azure-inspired self-service workflow:
User
│
│ Web browser
▼
ProxCloud
│
│ Proxmox API
▼
Proxmox VE
│
▼
Approved VM Template
│
▼
New Virtual Machine
│
│ RDP
▼
User's Desktop
The goal is to make the process as simple as:
Choose a template → Deploy a VM → Connect
while keeping the underlying virtualization infrastructure under administrative control.
The primary user workflow is centred around the dashboard.
Users can see the virtual machines currently assigned to them from the main dashboard.
Users can select from VM templates that have been approved by an administrator.
Each template provides the base environment from which a user's VM can be provisioned.
Once deployed, the resulting VM becomes associated with the user. The intended workflow will allow the user to connect to the environment remotely through a dedicated RDP connection.
VM provisioning and remote access are currently under active development.
ProxCloud also provides an administrative interface for managing the platform.
Administrators can discover VM templates from Proxmox and control which templates are available for user deployment.
Templates discovered from Proxmox are not automatically made available to users. Administrative approval provides a deliberate boundary between infrastructure discovery and user-facing provisioning.
Administrators can manage user accounts through the administrative interface.
This provides the foundation for the user ownership and accountability model used throughout ProxCloud.
ProxCloud currently provides:
- User accounts
- Secure account authentication
- Administrator controls
- VM template discovery
- VM template approval
- Proxmox API integration
- A user-facing dashboard
- A user-facing VM template catalogue
The intended deployment workflow is:
- Select an approved VM template
- Create a new VM from the template
- Assign a VM ID
- Configure the VM
- Start the VM
- Track provisioning status
- Associate the VM with the requesting user
- Provide remote access
The underlying VM provisioning workflow is currently under development.
ProxCloud communicates with Proxmox VE through its API rather than requiring users to interact with Proxmox directly.
This allows ProxCloud to provide a purpose-built application interface while leaving virtualization and infrastructure management to Proxmox.
The project is currently built around:
- Python
- FastAPI
- Proxmox VE API
- PostgreSQL
- SQLAlchemy
- Alembic
- Docker
- RDP
- HTML/CSS/JavaScript
- HTMX
The architecture is intended to remain modular so that additional provisioning and infrastructure capabilities can be introduced without coupling the user interface directly to Proxmox.
A basic deployment requires:
- A Proxmox VE server
- A Proxmox API token
- Network connectivity between ProxCloud and Proxmox
- Docker
- Python 3.13+
ProxCloud is designed to run as an application layer in front of an existing Proxmox environment.
ProxCloud expects VM templates to be prepared in Proxmox before they are made available for deployment.
ProxCloud discovers these templates through the Proxmox API and maintains a separate catalogue of templates within the application.
Administrators can then approve individual templates for user deployment.
This approach keeps operating-system configuration and base-image management within Proxmox while ProxCloud focuses on:
- Template discovery
- Administrative approval
- Self-service deployment
- User ownership
- Remote access
- Accountability
ProxCloud is intended to sit in front of the Proxmox management layer.
Users should not require direct access to the Proxmox API or web interface.
The application should therefore be deployed with appropriate network isolation and access controls.
Recommended deployment practices include:
- HTTPS for the ProxCloud web interface
- Restricting access to the Proxmox API
- Using a dedicated Proxmox API account/token
- Applying least-privilege permissions
- Isolating deployed VMs appropriately
- Avoiding exposure of the Proxmox management interface to untrusted networks
- Using secure credentials and environment configuration
Security features and hardening remain active areas of development.
ProxCloud is currently an early-stage open-source project.
The primary goal of the current development phase is to establish a reliable self-service workflow:
Template → VM → Provision → Connect
The project is not intended to replace the Proxmox management interface. Instead, it provides a simplified application layer for users and organisations that need easily deployable virtual machines without requiring users to understand the underlying virtualization infrastructure.
Contributions, ideas, bug reports, and architectural feedback are welcome.
If you are interested in contributing, please see CONTRIBUTING.md.
Some areas where contributions could be particularly useful include:
- Frontend development
- Deeper Proxmox API integration
- VM provisioning
- Role-based authentication and authorization
- Testing
- Documentation
- Infrastructure and deployment
- Additional ideas
ProxCloud is released under the Apache License 2.0.
See LICENSE for the full license text and license terms.
ProxCloud is an independent open-source project and is not affiliated with or endorsed by Proxmox Server Solutions GmbH.
Proxmox and Proxmox VE are trademarks of their respective owners.



