`get_disks_observation_counts` maps each serial's count to that serial's "most recent" device_name (so renames like ata8 -> sdh keep the badge attached). When several physical disks have passed through the same kernel name across reboots — common with NVMe, the kernel probes in a different order depending on which slots are populated — disk_registry keeps a row per (device_name, serial) seen and the "most recent" device_name for a serial can now be in use by an entirely different disk. Concrete case from the wild: serial 211716800490 was nvme0n1 during the previous boot and earned a real I/O observation. After removing four of five NVMes, the surviving disk (serial 243332800236) booted into nvme0n1. The badge layer mirrored 211716800490's count onto nvme0n1 — which is now a different physical disk — and showed "1 obs." on the wrong drive, while the modal (which scopes by the current (device_name, serial) registry row) found nothing and rendered an empty history. Only mirror a serial's count onto its device_name when that device_name is currently owned by the same serial, determined from the freshest disk_registry row. The serial-keyed entry stays unconditional so observations remain reachable when the disk is re-plugged under another device name. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
ProxMenux is a management tool for Proxmox VE that simplifies system administration through an interactive menu, allowing you to execute commands and scripts with ease.
📌 Installation
To install ProxMenux, simply run the following command in your Proxmox server terminal:
bash -c "$(wget -qLO - https://raw.githubusercontent.com/MacRimi/ProxMenux/main/install_proxmenux.sh)"
⚠️ Be careful when copying scripts from the internet. Always remember to check the source!
📄 You can review the source code before execution.
🛡️ All executable links follow our Code of Conduct.
📌 How to Use
Once installed, launch ProxMenux by running:
menu
Then, follow the on-screen options to manage your Proxmox server efficiently.
🖥️ ProxMenux Monitor
ProxMenux Monitor is an integrated web dashboard that provides real-time visibility into your Proxmox infrastructure — accessible from any browser on your network, without needing a terminal.
What it offers:
- Real-time monitoring of CPU, RAM, disk usage and network traffic
- Overview of running VMs and LXC containers with status indicators
- Login authentication to protect access
- Two-Factor Authentication (2FA) with TOTP support
- Reverse proxy support (Nginx / Traefik)
- Designed to work across desktop and mobile devices
Access:
Once installed, the dashboard is available at:
http://<your-proxmox-ip>:8008
The Monitor is installed automatically as part of the standard ProxMenux installation and runs as a systemd service (proxmenux-monitor.service) that starts automatically on boot.
Useful commands:
# Check service status
systemctl status proxmenux-monitor
# View logs
journalctl -u proxmenux-monitor -n 50
# Restart the service
systemctl restart proxmenux-monitor
🧪 Beta Program
Want to try the latest features before the official release and help shape the final version?
The ProxMenux Beta Program gives early access to new functionality — including the newest builds of ProxMenux Monitor — directly from the develop branch. Beta builds may contain bugs or incomplete features. Your feedback is what helps fix them before the stable release.
Install the beta version:
bash -c "$(wget -qLO - https://raw.githubusercontent.com/MacRimi/ProxMenux/develop/install_proxmenux_beta.sh)"
What to expect:
- You'll get new features and Monitor builds before anyone else
- Some things may not work perfectly — that's expected and normal
- When a stable release is published, ProxMenux will notify you on the next
menulaunch and offer to switch automatically
How to report issues:
Open a GitHub Issue and include:
- What you did and what you expected to happen
- Any error messages shown on screen
- Logs from the Monitor if relevant:
journalctl -u proxmenux-monitor -n 50
💙 Thank you for being part of the beta program. Your help makes ProxMenux better for everyone.
🔧 Dependencies
The following dependencies are installed automatically during setup:
| Package | Purpose |
|---|---|
dialog |
Interactive terminal menus |
curl |
Downloads and connectivity checks |
jq |
JSON processing |
git |
Repository cloning and updates |
python3 + python3-venv |
Translation support (Translation version only) |
googletrans |
Google Translate library (Translation version only) |
🛡️ Security Note / VirusTotal False Positive
If you scan the raw installation URL on VirusTotal, you might see a 1/95 detection by heuristic engines like Chong Lua Dao. This is a known false positive. Because this script uses the standard
curl | bashinstallation pattern and downloads legitimate binaries (likejqfrom its official GitHub release), overly aggressive scanners flag the behavior. The script is 100% open source and safe to review. You can read more about this in Issue #162.
🤝 Contributing
ProxMenux is an open, collaborative project — contributions of every shape are very welcome, no matter your background. Every PR, bug report, idea, translation or kind word helps move the project forward.
📖 Before sending code, please read the Contributing Guide. It covers the project structure, the UI design policy (the two-phase
dialog/whiptailflow), message helpers, translation policy and submission conventions — what reviewers will look for in your PR.
Ways to help:
- 💻 Code — fix a bug, polish a script, add a feature. Read the Contributing Guide first, then open a pull request.
- 🐛 Bug reports — found something broken? Open an issue with steps to reproduce, and the Monitor logs if relevant (
journalctl -u proxmenux-monitor -n 50). - 💡 Ideas & feedback — share suggestions in GitHub Discussions. Every idea is welcome.
- 🌍 Translations — the documentation site already supports English and Spanish; help expand it to more languages following the translation guide (one page per PR).
- 🧪 Beta testing — run the beta build and let us know what you find.
- ⭐ Spread the word — a GitHub star or a mention in your homelab community helps others discover the project.
Before contributing, please take a moment to read our Code of Conduct.
Contributors
Thanks to everyone who has helped make ProxMenux what it is today.
Made with contrib.rocks.
⭐ Support the Project
If ProxMenux is useful to you, the simplest way to support it is a ⭐ on GitHub — it really helps others discover the project.
If you want to go a step further, a coffee on Ko-fi keeps development going:
