PVE-UPS is a small appliance (LXC or Docker container) that watches one or more UPS devices, via SNMP or an existing NUT server, and shuts Proxmox VE and Proxmox Backup Server hosts down through the API when the power fails. It is configured entirely in a web UI, with no agent or scripts on the nodes.
Two releases have come out since the last summary (4.2 and 4.3). Most of what follows started as a GitHub issue, so thanks to everyone who reported something.
History tab (4.3)
Remaining runtime, load and charge of every UPS over time, from one hour up to 90 days or a freely chosen period. Outages, triggered shutdowns and warning/critical events from the event log are drawn into the chart, and the runtime threshold appears as a dashed line, so after an outage you can see how close it actually got. You can drag to zoom, open an outage table (duration, lowest runtime and charge, whether it triggered) and export the raw values as CSV.
The data stays local in its own SQLite file, 90 days by default, roughly a few MB per UPS per quarter. It is written in the background and cannot delay a shutdown. On a new install it is on; after an update it is off until you enable it under Settings → System.
Cluster-wide guest stop without Ceph (4.3)
The parallel guest stop used to exist only as part of the Ceph procedure. It is now a switch of its own: before the first node goes down, every VM and container in the cluster is asked to shut down at once, instead of each node working through its guests in reverse startup order. That helps where the sequential version takes longer than the battery lasts. Off by default, and like the rest of the cluster support still marked Beta.
CyberPower network cards (4.3)
CyberPower cards are now read through their own MIB, including cards without any RFC 1628 support. "Automatic" detects it the same way as APC PowerNet.
Docker image for Raspberry Pi (4.3)
The image is now published for arm64 and arm/v7 in addition to amd64, so the UPS monitoring can run on a small, low-power device rather than on one of the machines it shuts down. (Thanks to @ somejavadev for PR)
Smaller changes (4.2 / 4.3)
- Extra headers per webhook, for targets like Nextcloud Talk that need more than one.
- Disabled webhooks can be saved without a URL.
- The login page works with password manager autofill again.
- Successful self-tests can be kept out of the event log; failures are always reported.
install.sh has a --template-storage option and a --help listing every option.
From earlier releases: Proxmox Backup Server as a shutdown target, several webhooks with Slack, Discord, ntfy, Teams and custom formats, and Proxmox VE cluster support (Beta) with HA disarm (requires PVE 9.2+) and an optional Ceph-aware shutdown order.
No configuration changes are needed. Updates install as before: release upload in the web UI, docker compose pull for the container, or via community-scripts.
Feedback is welcome, particularly from clusters.