Skip to main content

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

🛣️ 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

🤝 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.0.2.tar.gz (17.1 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.0.2-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: proxmux-0.0.2.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for proxmux-0.0.2.tar.gz
Algorithm Hash digest
SHA256 b1764d5ef4bb96edd1319f0c231b8db1f8edc7ee864ea872429a4f1d700b6621
MD5 43f2146df2ab763dac282cb2978f815c
BLAKE2b-256 a10b37dc6935ddc438b7beb9ca7267ca6418c175326488cfff3a4764119145c9

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: proxmux-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 17.2 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.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9cd3d21176073f7d91a68e401890ad9554363cdd7164d5b317eae54253b02c9b
MD5 b64887f0685da7c5124a6747a08e6b3b
BLAKE2b-256 2d1540848405296237f831f3708becb44c1e62763b33b6c1add17522990f45b8

See more details on using hashes here.

Provenance

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