Proxmox VM and LXC discovery, inventory, and update management tool
Project description
proxmux
proxmux is a Proxmox VE fleet discovery and maintenance toolkit.
It allows you to discover, inventory, visualize, and audit updates for Proxmox VMs and LXCs directly from the Proxmox host.
⚠️ Important Warnings & Requirements
This toolkit is intended to run ONLY on Proxmox VE hosts.
Before using proxmux, please read carefully:
- ✅ Must be run on a Proxmox VE node
- ✅ Requires root privileges (or equivalent permissions)
- ✅ Relies on Proxmox CLI tools:
pct,qm,ip,bash - ⚠️ VM guest inspection requires QEMU Guest Agent
- ⚠️ Some features are skipped for offline guests
Running proxmux on non-Proxmox systems is not supported.
✨ Features
- 🔍 Discover all Proxmox VMs and LXCs
- 📄 Generate a structured YAML inventory
- 🌐 Produce an interactive HTML visualization
- 📦 Detect package managers inside guests
- 🔎 Audit pending system updates (dry-run only)
- 🧱 Designed for future lifecycle operations (updates, reboots, maintenance)
🚀 Installation
proxmux is distributed via PyPI and is designed to be installed using pipx, ensuring a clean and isolated Python environment.
🔧 Automatic Installation (Recommended)
This method installs pipx if needed and then installs proxmux.
curl -fsSL https://raw.githubusercontent.com/ingles98/proxmux/main/install.sh | bash
proxmux --help
🔧 Manual Installation
1️⃣ Install pipx (Debian / Proxmox VE)
apt update
apt install -y pipx
2️⃣ Install proxmux from PyPI
pipx install proxmux
Verify installation:
proxmux --help
🔄 Updating & Removal
Update to the latest version:
pipx upgrade proxmux
Uninstall:
pipx uninstall proxmux
📘 Usage
Discover Proxmox environment and generate inventory + HTML
proxmux discover -i prox_stack.yml -o stack_view.html
Regenerate HTML from an existing inventory
proxmux html -i prox_stack.yml -o stack_view.html
Check pending updates on guests
proxmux updates
List individual packages pending update:
proxmux updates --list
📂 Output Files
prox_stack.yml — structured inventory of the Proxmox environment
stack_view.html — interactive HTML visualization
Both files are safe to version-control or archive.
🧠 Notes & Limitations
Offline guests are skipped automatically
VM inspection requires QEMU Guest Agent
Updates are audit-only for now (no changes applied)
proxmux is designed to be safe by default
📜 Changelog
Please find the changelog here: CHANGELOG.md
🛣️ Roadmap
-
proxmux upgrade--dry-run/--apply -
Guest reboot orchestration
-
JSON / machine-readable output modes
-
Plugin hooks per guest
-
CI-friendly non-interactive mode
📜 License
MIT License - see the LICENSE file for details
🤝 Contributing
Issues, ideas, and pull requests are welcome. proxmux aims to remain simple, safe, and transparent.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file proxmux-0.1.1.tar.gz.
File metadata
- Download URL: proxmux-0.1.1.tar.gz
- Upload date:
- Size: 17.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad5346bc056844c7710e8d3d6105019a53f34ca38a06ae207a4c2c2a48081cb3
|
|
| MD5 |
519dc0a76661be22edbd994c4132cd47
|
|
| BLAKE2b-256 |
f9ec8a119ee93b778db481617e942cd8446a518c67a6eb8dfcc224ccf4257d7c
|
Provenance
The following attestation bundles were made for proxmux-0.1.1.tar.gz:
Publisher:
release.yml on ingles98/proxmux
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
proxmux-0.1.1.tar.gz -
Subject digest:
ad5346bc056844c7710e8d3d6105019a53f34ca38a06ae207a4c2c2a48081cb3 - Sigstore transparency entry: 794091815
- Sigstore integration time:
-
Permalink:
ingles98/proxmux@cf76a91700607ea46d01f3435192b668cad66d10 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ingles98
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cf76a91700607ea46d01f3435192b668cad66d10 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file proxmux-0.1.1-py3-none-any.whl.
File metadata
- Download URL: proxmux-0.1.1-py3-none-any.whl
- Upload date:
- Size: 17.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef56128ff4801c15e17189806b023f4d09044b8718fba61cc0b6fa6a141e23e5
|
|
| MD5 |
a83f181ec65b650a85af05994865bc48
|
|
| BLAKE2b-256 |
261e1a4ffeb02fd1c7e17694f25f3d6fb0a0553c4d3ff31ddad54f55513179af
|
Provenance
The following attestation bundles were made for proxmux-0.1.1-py3-none-any.whl:
Publisher:
release.yml on ingles98/proxmux
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
proxmux-0.1.1-py3-none-any.whl -
Subject digest:
ef56128ff4801c15e17189806b023f4d09044b8718fba61cc0b6fa6a141e23e5 - Sigstore transparency entry: 794091871
- Sigstore integration time:
-
Permalink:
ingles98/proxmux@cf76a91700607ea46d01f3435192b668cad66d10 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ingles98
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cf76a91700607ea46d01f3435192b668cad66d10 -
Trigger Event:
workflow_dispatch
-
Statement type: