The ultimate datacenter management solution for Proxmox VE and XCP-NG. Unified multi-cluster control, intelligent load balancing, and seamless cross-cluster VM migrations — all in one beautiful interface.
See the code
Modern Multi-Cluster Management for Proxmox VE & XCP-ng
Website • Documentation • Releases • Plugins • Sponsoring • Commercial Support
PegaProx is a powerful web-based management interface for Proxmox VE and XCP-ng clusters. Manage multiple clusters from a single dashboard with features like live monitoring, VM management, automated tasks, and more.
The name PegaProx is inspired by Pegasus, the winged horse of Greek mythology, combined with Prox as a reference to Proxmox VE. Pegasus symbolises speed, freedom and elegant flight - qualities we aspire to bring to multi-cluster hypervisor management.
PegaProx is a community-driven open source project that lives entirely from sponsorships and donations. Server costs, domains, code-signing certificates and the developer hours behind every release come straight out of our own pockets — and out of the contributions of the wonderful companies and individuals below. If PegaProx saves you time at work, please consider becoming a sponsor or chipping in on Open Collective. Every euro keeps the lights on. 💛
Individual supporters: Andreas Huemmer
Become a Sponsor • Open Collective • Commercial Support
/etc/pegaprox/secret.key, so a config/ backup never carries the key alongside the data. Auto-migrates plain DBs on first boot post-update./api/metrics with a bearer token (an admin's or one with metrics.view) for cluster, node, guest, storage, replication and backup-age metricsThis installation method pulls the deployment script directly from the current HEAD of the main branch. This means you will always receive the latest available version, including the most recent features and improvements. However, because it is not tied to a specific release, it may also contain unreleased changes or bugs that have not yet been fully tested. If you prefer a stable and tested version, consider installing PegaProx from a tagged release instead.
curl -O https://raw.githubusercontent.com/PegaProx/project-pegaprox/refs/heads/main/deploy.sh
chmod +x deploy.sh
sudo ./deploy.sh
This installation method uses the official APT repository provided by gyptazy. The repository and its associated build and packaging pipeline are fully hosted and maintained by gyptazy, where PegaProx releases are automatically built and published as Debian packages. Unlike the automated installation script, which pulls the latest code directly from the repository branch, the APT repository distributes packaged and versioned releases. This generally provides a more stable and predictable installation, making it the recommended approach for production environments.
curl https://git.gyptazy.com/api/packages/gyptazy/debian/repository.key -o /etc/apt/keyrings/gyptazy.asc
echo "deb [signed-by=/etc/apt/keyrings/gyptazy.asc] https://packages.gyptazy.com/api/packages/gyptazy/debian trixie main" | sudo tee -a /etc/apt/sources.list.d/gyptazy.list
apt-get update
apt-get -y install pegaprox
This installation methods run PegaProx directly from the source code repository. It is primarily intended for development, testing, or advanced users who want full control over the codebase or want to modify and extend the project.
By default, cloning the repository will pull the latest state of the main branch, which contains the most recent changes and features. While this ensures you always have the newest code available, it may also include in-progress changes that are not part of an official release yet. If you prefer a more stable version, you can optionally checkout a specific release tag from the repository before installing dependencies and starting the application. This allows you to run the exact code corresponding to an official release while still using the source-based installation method.
Running PegaProx from source can be useful for debugging, contributing to the project, or integrating custom functionality, since you have direct access to the entire codebase and can easily update it using standard Git workflows.
git clone https://github.com/PegaProx/project-pegaprox.git
cd project-pegaprox
pip install -r requirements.txt
python3 pegaprox_multi_cluster.py
docker compose up -d
Or without Compose:
docker run -d --name pegaprox \
-p 5000:5000 -p 5001:5001 -p 5002:5002 \
-v pegaprox-config:/app/config \
-v pegaprox-logs:/app/logs \
--restart unless-stopped \
ghcr.io/pegaprox/pegaprox:latest
For local builds:
git clone https://github.com/PegaProx/project-pegaprox.git
cd project-pegaprox
docker build -t pegaprox .
docker run -d --name pegaprox \
-p 5000:5000 -p 5001:5001 -p 5002:5002 \
-v pegaprox-config:/app/config \
-v pegaprox-logs:/app/logs \
--restart unless-stopped \
pegaprox
git clone https://github.com/PegaProx/project-pegaprox.git
cd project-pegaprox
dpkg-buildpackage -us -uc
sudo dpkg -i ../pegaprox_*.deb
Option 1: Update Script (Recommended)
cd /opt/PegaProx
curl -O https://raw.githubusercontent.com/PegaProx/project-pegaprox/refs/heads/main/update.sh
chmod +x update.sh
sudo ./update.sh
Option 2: Web UI
Go to Settings → Updates and click "Check for Updates".
After starting PegaProx, open your browser and navigate to:
https://your-server-ip:5000
A fresh install has no default credentials:
/opt/PegaProx/
├── pegaprox_multi_cluster.py # Entry point
├── pegaprox/ # Application package
│ ├── app.py # Flask app factory
│ ├── constants.py # Configuration constants
│ ├── globals.py # Shared state
│ ├── api/ # REST API blueprints
│ ├── core/ # Business logic (manager, db, cache)
│ ├── background/ # Background tasks (scheduler, alerts)
│ ├── utils/ # Utilities (auth, RBAC, LDAP, OIDC)
│ └── models/ # Data models
├── web/
│ ├── index.html # Compiled frontend
│ └── src/ # Frontend source (JSX)
├── config/
│ └── pegaprox.db # SQLite database - fully encrypted at rest via SQLCipher (Linux x86_64); plain SQLite + Fernet-encrypted fields elsewhere
├── static/ # JS/CSS libraries (offline mode)
├── logs/ # Application logs
└── update.sh # Update script
docs/SECURITY.md for the threat model and recovery story.PEGAPROX_DB_KEY env / systemd LoadCredentialEncrypted (TPM2-bound) / /etc/pegaprox/secret.key / ~/.config/pegaprox/secret.key / legacy config/. Default chmod 0600, files with loose permissions are skipped rather than used silently.PEGAPROX_DISABLE_AUTO_ENCRYPT=1 if they want to take their own pre-encryption backup first.Full documentation is available at docs.pegaprox.com
This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.
Attribution (AGPL §7b): Under Section 7(b) of the AGPL, the "Powered by PegaProx" attribution shown in the client portal is a required author attribution and must be preserved in every copy and modified/derivative version — see the NOTICE file. Note also that AGPL §13 requires anyone hosting a modified version for network users to publish that version's complete source to those users. PegaProx is AGPL-3.0 only — the attribution applies to everyone, without exception.
Like most modern dev teams, we use AI-assisted tooling (code completion, docs generation, review automation, security audits). All architecture decisions, implementation, and testing are handled by our three-person team. - see IBM , IBM Case Studies , MIT Tech Review
AI-driven security auditing is an industry-standard practice - see Hacker News, IBM Research.
If you find PegaProx useful, please consider giving it a star! ⭐
Made with ❤️ by the PegaProx Team
105 followers · starred Mar 2026
273 followers · starred Mar 2026
1,062 followers · starred Apr 2026
63 followers · starred Apr 2026
The ultimate datacenter management solution for Proxmox VE and XCP-NG. Unified multi-cluster control, intelligent load balancing, and seamless cross-cluster VM migrations — all in one beautiful interface.
See the code
Modern Multi-Cluster Management for Proxmox VE & XCP-ng
Website • Documentation • Releases • Plugins • Sponsoring • Commercial Support
PegaProx is a powerful web-based management interface for Proxmox VE and XCP-ng clusters. Manage multiple clusters from a single dashboard with features like live monitoring, VM management, automated tasks, and more.
The name PegaProx is inspired by Pegasus, the winged horse of Greek mythology, combined with Prox as a reference to Proxmox VE. Pegasus symbolises speed, freedom and elegant flight - qualities we aspire to bring to multi-cluster hypervisor management.
PegaProx is a community-driven open source project that lives entirely from sponsorships and donations. Server costs, domains, code-signing certificates and the developer hours behind every release come straight out of our own pockets — and out of the contributions of the wonderful companies and individuals below. If PegaProx saves you time at work, please consider becoming a sponsor or chipping in on Open Collective. Every euro keeps the lights on. 💛
Individual supporters: Andreas Huemmer
Become a Sponsor • Open Collective • Commercial Support
/etc/pegaprox/secret.key, so a config/ backup never carries the key alongside the data. Auto-migrates plain DBs on first boot post-update./api/metrics with a bearer token (an admin's or one with metrics.view) for cluster, node, guest, storage, replication and backup-age metricsThis installation method pulls the deployment script directly from the current HEAD of the main branch. This means you will always receive the latest available version, including the most recent features and improvements. However, because it is not tied to a specific release, it may also contain unreleased changes or bugs that have not yet been fully tested. If you prefer a stable and tested version, consider installing PegaProx from a tagged release instead.
curl -O https://raw.githubusercontent.com/PegaProx/project-pegaprox/refs/heads/main/deploy.sh
chmod +x deploy.sh
sudo ./deploy.sh
This installation method uses the official APT repository provided by gyptazy. The repository and its associated build and packaging pipeline are fully hosted and maintained by gyptazy, where PegaProx releases are automatically built and published as Debian packages. Unlike the automated installation script, which pulls the latest code directly from the repository branch, the APT repository distributes packaged and versioned releases. This generally provides a more stable and predictable installation, making it the recommended approach for production environments.
curl https://git.gyptazy.com/api/packages/gyptazy/debian/repository.key -o /etc/apt/keyrings/gyptazy.asc
echo "deb [signed-by=/etc/apt/keyrings/gyptazy.asc] https://packages.gyptazy.com/api/packages/gyptazy/debian trixie main" | sudo tee -a /etc/apt/sources.list.d/gyptazy.list
apt-get update
apt-get -y install pegaprox
This installation methods run PegaProx directly from the source code repository. It is primarily intended for development, testing, or advanced users who want full control over the codebase or want to modify and extend the project.
By default, cloning the repository will pull the latest state of the main branch, which contains the most recent changes and features. While this ensures you always have the newest code available, it may also include in-progress changes that are not part of an official release yet. If you prefer a more stable version, you can optionally checkout a specific release tag from the repository before installing dependencies and starting the application. This allows you to run the exact code corresponding to an official release while still using the source-based installation method.
Running PegaProx from source can be useful for debugging, contributing to the project, or integrating custom functionality, since you have direct access to the entire codebase and can easily update it using standard Git workflows.
git clone https://github.com/PegaProx/project-pegaprox.git
cd project-pegaprox
pip install -r requirements.txt
python3 pegaprox_multi_cluster.py
docker compose up -d
Or without Compose:
docker run -d --name pegaprox \
-p 5000:5000 -p 5001:5001 -p 5002:5002 \
-v pegaprox-config:/app/config \
-v pegaprox-logs:/app/logs \
--restart unless-stopped \
ghcr.io/pegaprox/pegaprox:latest
For local builds:
git clone https://github.com/PegaProx/project-pegaprox.git
cd project-pegaprox
docker build -t pegaprox .
docker run -d --name pegaprox \
-p 5000:5000 -p 5001:5001 -p 5002:5002 \
-v pegaprox-config:/app/config \
-v pegaprox-logs:/app/logs \
--restart unless-stopped \
pegaprox
git clone https://github.com/PegaProx/project-pegaprox.git
cd project-pegaprox
dpkg-buildpackage -us -uc
sudo dpkg -i ../pegaprox_*.deb
Option 1: Update Script (Recommended)
cd /opt/PegaProx
curl -O https://raw.githubusercontent.com/PegaProx/project-pegaprox/refs/heads/main/update.sh
chmod +x update.sh
sudo ./update.sh
Option 2: Web UI
Go to Settings → Updates and click "Check for Updates".
After starting PegaProx, open your browser and navigate to:
https://your-server-ip:5000
A fresh install has no default credentials:
/opt/PegaProx/
├── pegaprox_multi_cluster.py # Entry point
├── pegaprox/ # Application package
│ ├── app.py # Flask app factory
│ ├── constants.py # Configuration constants
│ ├── globals.py # Shared state
│ ├── api/ # REST API blueprints
│ ├── core/ # Business logic (manager, db, cache)
│ ├── background/ # Background tasks (scheduler, alerts)
│ ├── utils/ # Utilities (auth, RBAC, LDAP, OIDC)
│ └── models/ # Data models
├── web/
│ ├── index.html # Compiled frontend
│ └── src/ # Frontend source (JSX)
├── config/
│ └── pegaprox.db # SQLite database - fully encrypted at rest via SQLCipher (Linux x86_64); plain SQLite + Fernet-encrypted fields elsewhere
├── static/ # JS/CSS libraries (offline mode)
├── logs/ # Application logs
└── update.sh # Update script
docs/SECURITY.md for the threat model and recovery story.PEGAPROX_DB_KEY env / systemd LoadCredentialEncrypted (TPM2-bound) / /etc/pegaprox/secret.key / ~/.config/pegaprox/secret.key / legacy config/. Default chmod 0600, files with loose permissions are skipped rather than used silently.PEGAPROX_DISABLE_AUTO_ENCRYPT=1 if they want to take their own pre-encryption backup first.Full documentation is available at docs.pegaprox.com
This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.
Attribution (AGPL §7b): Under Section 7(b) of the AGPL, the "Powered by PegaProx" attribution shown in the client portal is a required author attribution and must be preserved in every copy and modified/derivative version — see the NOTICE file. Note also that AGPL §13 requires anyone hosting a modified version for network users to publish that version's complete source to those users. PegaProx is AGPL-3.0 only — the attribution applies to everyone, without exception.
Like most modern dev teams, we use AI-assisted tooling (code completion, docs generation, review automation, security audits). All architecture decisions, implementation, and testing are handled by our three-person team. - see IBM , IBM Case Studies , MIT Tech Review
AI-driven security auditing is an industry-standard practice - see Hacker News, IBM Research.
If you find PegaProx useful, please consider giving it a star! ⭐
Made with ❤️ by the PegaProx Team
105 followers · starred Mar 2026
273 followers · starred Mar 2026
1,062 followers · starred Apr 2026
63 followers · starred Apr 2026