Skip to main content

Proxmox VM and LXC discovery, inventory, and update management tool

Project description

proxmux

image image image GitHub Actions

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

proxmux-0.1.1.tar.gz (17.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

proxmux-0.1.1-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

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

Hashes for proxmux-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ad5346bc056844c7710e8d3d6105019a53f34ca38a06ae207a4c2c2a48081cb3
MD5 519dc0a76661be22edbd994c4132cd47
BLAKE2b-256 f9ec8a119ee93b778db481617e942cd8446a518c67a6eb8dfcc224ccf4257d7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxmux-0.1.1.tar.gz:

Publisher: release.yml on ingles98/proxmux

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for proxmux-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ef56128ff4801c15e17189806b023f4d09044b8718fba61cc0b6fa6a141e23e5
MD5 a83f181ec65b650a85af05994865bc48
BLAKE2b-256 261e1a4ffeb02fd1c7e17694f25f3d6fb0a0553c4d3ff31ddad54f55513179af

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxmux-0.1.1-py3-none-any.whl:

Publisher: release.yml on ingles98/proxmux

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page