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.0.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.0-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file proxmux-0.1.0.tar.gz.

File metadata

  • Download URL: proxmux-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 70fd3e58f45f5e7084eb89856439868fc104aba98cb2ee70e3aae332a64693b4
MD5 ce5bb3d7ae648357122c9d6b896fd95f
BLAKE2b-256 8cada99cedffee274c4f4953f778185606373dc9786bd6aba63179870a17897d

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxmux-0.1.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: proxmux-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f92697c83cae7ab5f2c9d3176f68292f592f9688459fa5914dd542cb1382f385
MD5 2193e87c45204d7d6767606fcaea3221
BLAKE2b-256 6d064ae17944e1ada744361082ad6a1271e308e128f25c820198fc432e1be323

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxmux-0.1.0-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