By LK Wood IV · 2026-05-16 · ~14 min read · St. Louis County, MO
A homelab without a UPS is a data integrity incident waiting to happen. An unclean power-off hits a Proxmox cluster mid-write the same way it hits any other server: ZFS journals, VM checkpoints, and TrueNAS datasets can survive it, but they do not have to — and the margin between “survived” and “corrupted” is thinner than most people expect until they lose a pool after a brief power flicker.
This article covers everything between buying decision and runtime calculation: VA vs W, line-interactive vs online double-conversion, how to read a runtime curve, how much power typical homelab configurations actually pull, how to wire NUT into Proxmox so VMs shut down before the battery reaches critical, and the battery replacement math you need to know before the first cell dies.
Methodology and sources
This article is a research-based sizing guide. Power-draw figures come from manufacturer specifications, vendor-published runtime curves, and third-party review measurements — cited inline at each claim. The CyberPower CP1500PFCLCD is used as a representative line-interactive unit throughout because it is widely deployed in the homelab community and CyberPower publishes its full runtime curve; the same sizing math applies to comparable units from APC (Back-UPS Pro, Smart-UPS lines), Eaton (5-series, 9-series), and Tripp Lite (SmartPro, SmartOnline).
Primary sources used in this article:
- CyberPower — CP1500PFCLCD product page and runtime curve, Pure Sine Wave UPS product line
- APC by Schneider Electric — Smart-UPS product range and the official APC UPS Selector tool
- Eaton — 9PX double-conversion UPS line
- ServeTheHome — UPS coverage and reviews, homelab power-draw measurements across tagged builds
- Network UPS Tools (NUT) — official documentation and the Proxmox VE wiki NUT page
- Intel ATX design guide — ATX power supply design documentation, governing PSU holdup-time requirements
Last updated: 2026-06-08. Sources reviewed and current as of this date.
VA vs W: why they are not the same number
Almost every UPS ships with two power ratings: a VA (volt-ampere) rating and a W (watt) rating. The CP1500PFCLCD is rated 1500VA / 900W. That gap is not a typo.
VA is apparent power — the product of RMS voltage and RMS current regardless of phase relationship.
W is real power — the power that actually does work.
The ratio W/VA is the power factor. A pure resistive load (incandescent bulb) has a power factor of 1.0. Switching power supplies in servers and NAS units have power factors between 0.6 and 0.99 depending on whether they include active power factor correction (PFC). Per the 80 Plus certification program, virtually all PC and server PSUs sold for the homelab market after 2012 include active PFC and run 0.90–0.99. Older PSUs or cheap unbranded gear can pull the number to 0.6.
What this means for sizing: you cannot add up device wattages and buy a UPS rated to that wattage. You need to know the VA draw as well, and the UPS’s W rating must exceed your total watt draw.
Required VA = Total W load ÷ power factor
If you have 450 W of gear at a power factor of 0.9, you need at least 500VA of UPS capacity. If your load has mixed power factors — one good server PSU and a few uncorrected wall-warts — average conservatively.
Reference power draw for typical homelab gear
The figures below are published manufacturer specs and third-party measurements. Use them as starting points for your own sizing; verify with a wall-meter on your specific gear before committing to a UPS purchase.
| Device class | Typical idle W | Typical peak W | Source |
|---|---|---|---|
| Mid-tier AM4/AM5 Proxmox node (64 GB, 4×NVMe) | 38–48 W | 110–135 W | ServeTheHome desktop/homelab power testing |
| Synology DS923+ (4 spinning disks, idle) | 35–42 W | — | Synology DS923+ data sheet |
| Synology DS923+ (4 disks, spin-up/resync) | — | 70–80 W | Synology DS923+ data sheet |
| UniFi USW-24 (24-port managed switch) | 17 W typical | 30 W max | Ubiquiti USW-24 datasheet |
| UDM-Pro | 22 W typical | 50 W max | Ubiquiti UDM-Pro datasheet |
| Reference stack — idle | ~120 W | — | Sum of above |
| Reference stack — peak | — | ~260–295 W | Sum of above |
A typical mid-tier homelab stack — single Proxmox node + 4-bay NAS + small managed switch + router — draws roughly 120 W idle and 260–295 W peak at the wall per the above source aggregate. Applied to the CP1500PFCLCD’s 900W / 1500VA rating, this stack uses 29–33% of the watt rating and 19–22% of the VA rating at peak draw (load VA = W / 0.9). Headroom on this order is intentional — it lets the stack grow without re-sizing the UPS and gives long runtime at real loads.
The common failure mode is sizing a UPS to the wattage label on each device’s nameplate. Nameplate power is the rated maximum, not typical draw. A server that nameplate-says 300 W might idle at 45 W and peak at 150 W under real workloads. Size to measured draw or to expected peak, not to nameplate.
Line-interactive vs online double-conversion
The UPS market splits into three topologies. The two that matter for homelabs are line-interactive and online double-conversion.
Standby (offline) UPS — utility power passes straight through; battery kicks in on outage. Switchover time is 4–8 ms. Adequate for desktops; not appropriate for homelab servers and NAS where mid-write power loss is a real risk.
Line-interactive UPS — adds an autotransformer or buck-boost circuit so the UPS can correct voltage sags and surges without switching to battery. Switchover time is 2–4 ms on most models. This is the right pick for 80% of homelabs. The CP1500PFCLCD is line-interactive.
Online double-conversion UPS — input power is rectified to DC, then reinverted to AC. The load always runs on the inverter; the battery is always in the loop. Switchover time is effectively zero because there is no switchover — the load never touches utility AC directly. Double-conversion units also have a power factor of ~1.0 on the output side. They are heavier, louder, run hotter, and consume 5–10% more electricity than line-interactive at the same load. The APC Smart-UPS series (SMT and SRT lines) and Eaton 9-series are the most common double-conversion units in home racks.
For most homelabs, line-interactive is the right answer. The 2–4 ms switchover time is well within the holdup time of any modern server PSU (typically 16–20 ms per the Intel ATX power supply design guide). Double-conversion is worth the premium if you have equipment that does not tolerate a brief switchover glitch — some Ethernet switches reset during the transition per ServeTheHome’s UPS coverage — or if you need zero-transfer protection for a data acquisition setup.
| Feature | Standby | Line-interactive | Online double-conversion |
|---|---|---|---|
| Transfer time | 4–8 ms | 2–4 ms | 0 ms |
| Voltage regulation without battery | No | Yes | Yes |
| Output power factor | Utility (varies) | Utility (varies) | ~1.0 |
| Efficiency at 50% load | ~98–99% | ~95–98% | ~88–92% |
| Heat / noise | Low | Low–medium | Medium–high |
| Cost per VA | $ | $$ | $$$ |
| Right for homelab? | No | Yes | Only if zero-transfer required |
Reading the runtime curve
Every UPS ships with a runtime curve — a chart or table that maps load to runtime in minutes. Runtime curves are one of the most misread specs in homelab buying discussions.
The runtime curve for the CP1500PFCLCD (CyberPower product page):
| Load | Runtime |
|---|---|
| 900 W (100%) | ~3 min |
| 450 W (50%) | ~8 min |
| 270 W (30%) | ~16 min |
| 135 W (15%) | ~36 min |
| 90 W (10%) | ~55 min |
At a typical homelab idle load of around 120 W (roughly 13% of rated capacity), the curve interpolates to roughly 40–45 minutes — 120 W sits between the 135 W (~36 min) and 90 W (~55 min) points, much nearer the 135 W end. This site’s UPS Runtime Calculator, whose model is fitted to this same curve, returns ~41 minutes at 120 W. Do not read the 10%-load figure as if it applied at 13%. ServeTheHome’s UPS reviews report comparable runtimes at similar loads, with the usual caveat that runtime declines as the battery ages over its first year.
What runtime you actually need. Most homelabs do not need 60 minutes of runtime. They need enough time for:
- NUT to detect the outage and signal Proxmox to begin VM shutdown (configurable; 5 minutes on battery is a common threshold).
- All VMs to complete a clean checkpoint and power off (1–4 minutes depending on how many are running and whether any are pinned to high-memory workloads).
- The host OS to power off cleanly.
A total of 5–10 minutes of runtime covers clean shutdown on almost any homelab. You only need 30+ minutes if you have a ride-through workload — something that must stay online during a typical brief outage and only shut down on a long event.
Size for your shutdown window, not for “how long could I theoretically run.” This lets you buy a smaller or less expensive UPS and still protect data integrity.
How much does a homelab actually draw?
Practical breakdown by common configuration, drawn from manufacturer specs and community measurement data aggregated in ServeTheHome’s UPS coverage and desktop/homelab power testing:
| Configuration | Typical idle W | Typical peak W | Minimum UPS W |
|---|---|---|---|
| Single mini-PC (N100/N305) + NAS | 18–35 W | 55–80 W | 200 W |
| Single Ryzen/Intel desktop node + NAS + switch | 80–130 W | 160–220 W | 300 W |
| Two-node Proxmox cluster + NAS + switch + router | 140–250 W | 280–450 W | 600 W |
| Full three-node Proxmox HA cluster + NAS + networking | 300–500 W | 600–900 W | 1200 W |
| GPU node added (RTX 5060 Ti under inference load) | +130 W idle | +350 W peak | +600 W |
If you run a GPU node like the RTX 5060 Ti build as part of your homelab, factor in the GPU’s TDP (the 5060 Ti is rated 180 W, measuring around 160 W under typical inference loads). Whether to put the GPU node on the UPS depends on whether it is running a service that needs clean shutdown — like a local inference server — or whether it is primarily a desktop workstation.
NUT integration with Proxmox
Network UPS Tools (NUT) is the open-source daemon suite that reads UPS status from USB or serial and signals connected nodes to shut down on low battery. Proxmox VE has native NUT support through its node settings panel, but configuring NUT directly in /etc/nut/ gives you more control over thresholds and VM-aware shutdown sequencing.
Installation and basic configuration
apt install nut nut-client
Check the USB device:
lsusb | grep -i cyber
# or
nut-scanner -U
/etc/nut/ups.conf for a CyberPower USB-connected UPS:
[myups]
driver = usbhid-ups
port = auto
desc = "CyberPower CP1500PFCLCD"
override.battery.charge.low = 20
override.battery.runtime.low = 300
The battery.runtime.low = 300 override tells NUT to trigger a low-battery event when estimated runtime remaining drops to 300 seconds (5 minutes) — enough headroom to complete a clean shutdown regardless of VM activity when the event fires.
/etc/nut/upsd.conf:
LISTEN 0.0.0.0 3493
/etc/nut/upsd.users:
[upsmon]
password = changeme
upsmon master
/etc/nut/upsmon.conf on the Proxmox master node:
MONITOR myups@localhost 1 upsmon changeme master
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h now"
NOTIFYCMD /usr/sbin/upssched
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower
RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5
NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC
NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC
NOTIFYFLAG ONLINE SYSLOG+WALL
Start and enable services, then verify the UPS is responding:
systemctl enable --now nut-server nut-client
upsc myups@localhost
upsc should immediately return battery charge, runtime estimate, and load percentage. If the driver fails to connect, check dmesg for the USB HID device and confirm port = auto is resolving correctly.
VM-aware shutdown via upssched
By default, NUT’s SHUTDOWNCMD fires a hard OS shutdown without pausing running VMs first. The cleaner path calls qm shutdown on each running Proxmox VM before the OS shutdown command executes.
The Proxmox community NUT wiki page covers the full upssched.conf pattern. The relevant script skeleton:
#!/bin/bash
# /usr/local/bin/ups-on-battery.sh
qm list | awk 'NR>1 && $3=="running" {print $1}' | \
xargs -I{} qm shutdown {} --timeout 120
sleep 30
/sbin/shutdown -h now
Chain this from upssched.conf with a timer event on ONBATT. A common configuration is 5 minutes from the ONBATT signal before the script fires, plus 30 seconds for all VMs to complete shutdown before the host powers off.
For a Proxmox cluster with NFS-mounted storage from a TrueNAS node (see Proxmox vs TrueNAS vs Unraid storage backends 2026), shutdown order matters: VMs must complete shutdown before the NFS server goes offline. If compute and storage share one UPS, configure the NFS host as a NUT slave with a longer shutdown delay. If they are on separate UPS units, size the storage UPS slightly larger so it outlasts the compute UPS by at least the VM shutdown window.
Surge protection and UPS placement
A UPS is not just a battery. Its front-end surge suppression absorbs impulse events that would otherwise reach connected equipment. Most line-interactive UPS units include MOV surge suppression on all outlet banks, rated in joules.
The CP1500PFCLCD is rated for 900 joules of surge suppression. A direct lightning strike on a residential power line can release tens of thousands of joules — no UPS absorbs that. A typical line surge from a nearby strike or utility switching event is 25–300 joules, which is within spec.
Do not daisy-chain a UPS through a surge suppressor or extension cord. Either can introduce impedance that affects UPS load calculations, and some units will refuse to operate correctly if input ground continuity is not clean. Plug the UPS directly into a wall outlet, on a dedicated 20A circuit if possible.
Battery replacement TCO
Every sealed lead-acid (SLA) battery has a service life of approximately 3–5 years under ideal conditions (float temperature 20–25°C, moderate discharge cycles). Homelab environments are rarely ideal — high ambient temperature from a server closet accelerates cell degradation significantly.
CyberPower and APC both publish cycle-life curves showing how many charge-discharge cycles a battery sustains at different discharge depths. Shallow cycles (10–20% per event) extend life; deep cycles (80–100%) compress it.
Replacement batteries for the CP1500PFCLCD use two 12V 9Ah SLA cells (CyberPower part RB1290X2, ~$38 retail; third-party equivalents run $25–35 a pair). Replacement takes about 5 minutes with a screwdriver.
Recommended battery replacement schedule:
- Year 3: Run a 50% load test and check runtime against the vendor curve. If runtime has degraded below 60% of rated at that load, replace.
- Year 4: Replace regardless of test result.
- Year 5: If not yet replaced, do it now. A failed UPS battery does not fail gracefully — it may fail to carry any load on the next outage without warning.
Battery replacement cost per year:
| UPS model | Battery cost | Replacement interval | Annual cost |
|---|---|---|---|
| CyberPower CP1500PFCLCD | ~$38 OEM / ~$28 3rd-party | 3–4 years | $7–13/yr |
| APC BR1500MS2 | ~$45 OEM / ~$30 3rd-party | 3–4 years | $8–15/yr |
| APC Smart-UPS SMT1500RM2UC | ~$65 OEM hot-swap | 4–5 years | $13–16/yr |
| Eaton 5PX1500RT | ~$70 OEM | 4–5 years | $14–18/yr |
The total ownership cost of a line-interactive UPS over five years — unit cost, battery replacements, and the ~5% efficiency penalty at load — is lower than the cost of a single data recovery engagement on a corrupted NAS pool.
UPS picks for 2026
| Budget | Model | VA / W | Topology | Pure sine wave | Notes |
|---|---|---|---|---|---|
| ~$150 | CyberPower CP1500PFCLCD | 1500VA / 900W | Line-interactive | Yes | Best value for most homelabs; USB HID, NUT-compatible |
| ~$180 | APC BR1500MS2 | 1500VA / 900W | Line-interactive | Yes | APC warranty support; USB + SmartSlot |
| ~$250 | CyberPower CP2000PFCLCD | 2000VA / 1200W | Line-interactive | Yes | Right for two-node clusters or if a GPU node is on the UPS |
| ~$400–550 | APC Smart-UPS SMT1500RM2UC | 1500VA / 1000W | Online | Yes | Rack-mount; zero transfer; preferred for Proxmox HA clusters |
| ~$700+ | Eaton 5PX1500RT | 1500VA / 1350W | Online | Yes | Hot-swap battery; Gigabit card slot; rack-mount |
The “pure sine wave” column matters for active-PFC server PSUs. A UPS that outputs a simulated (stepped) sine wave can cause PSUs with active PFC to produce audible noise or fail to start cleanly when switching to battery. All models in the table output a true sine wave on battery.
How I would size this stack today
For a representative single-node homelab on a CP1500PFCLCD, the reference stack above (~120 W idle) maps to roughly 40–45 minutes of vendor-rated runtime — far more than NUT needs to complete a VM-aware shutdown sequence before the battery reaches its critical threshold. A sensible configuration is a 5-minute ONBATT grace period and a low-battery threshold of 300 seconds of remaining runtime. Annual operating cost is modest: a few dollars in inverter-heat electricity loss plus roughly $10/year in battery amortization on the schedule below.
Keeping compute and networking on separate UPS units — for example, a larger unit for the Proxmox node and NAS and a smaller CyberPower CP900EPFCLCD for the UDM-Pro, switch, and patch panel — means the network stays up after compute shuts down, which is useful for remote access after a power event.
Sizing fresh today for a two-node Proxmox cluster with the NFS storage described in Proxmox vs TrueNAS vs Unraid storage backends 2026, a CP2000PFCLCD (1200 W) covers compute and NAS together, with networking on its own sub-500 W unit. At three nodes or with a GPU inference node, the APC SMT1500RM2UC in a 2U rack slot is the better fit.
The firewall decisions from Homelab Firewall and Router Stack 2026 are the other half of this equation. A pfSense or OPNsense box on its own UPS turns a “network flicker” into a “compute rebooted gracefully while the network stayed up” — which is the target outcome for a homelab with managed infrastructure depending on it. The 10GbE switching layer is worth protecting on the networking UPS too, since 10GbE NICs can reset on switchover glitches from lower-quality standby units.
Related on TechFuel HQ
- UPS Runtime Calculator — enter your load and UPS model to get estimated runtime in minutes
- Homelab Power & Cost Calculator — model annual electricity cost and 3-year TCO for your full stack
- Proxmox vs TrueNAS vs Unraid Storage Backends 2026: ZFS, btrfs, and the IOPS That Matter
- The $1,500 RTX 5060 Ti Mid-Range 1440p Build for 2026
- Homelab Firewall and Router Stack 2026: pfSense vs OPNsense vs MikroTik vs UniFi
- 10GbE Home Networking on a Budget in 2026
- More Homelab Guides
Sources
- CyberPower CP1500PFCLCD product page (runtime curve, specs): https://www.cyberpowersystems.com/product/ups/pure-sine-wave/cp1500pfclcd/
- NUT (Network UPS Tools) project documentation: https://networkupstools.org/documentation.html
- Proxmox VE wiki — NUT Power Outage Setup: https://networkupstools.org/documentation.html
- APC BR1500MS2 product page: https://www.apc.com/us/en/product/BR1500MS2/
- APC Smart-UPS SMT1500RM2UC product page: https://www.apc.com/us/en/product/SMT1500RM2UC/
- CyberPower RB1290X2 replacement battery: https://www.cyberpowersystems.com/product/ups/battery-cartridge/rb1290x2/
- Eaton 5PX1500RT product page: https://www.eaton.com/us/en-us/catalog/ups-rack-products/eaton-5px-ups.html
- ServeTheHome — homelab UPS coverage and teardowns: https://www.servethehome.com/tag/ups/
- Reddit r/homelab — UPS sizing discussions: https://www.reddit.com/r/homelab/search/?q=ups+sizing
Frequently asked questions
What size UPS do I need for a homelab?
How do you calculate the UPS size for a server?
How long will a 1500 VA UPS run a homelab?
What is the difference between VA and watts on a UPS?
Do I need a UPS for a homelab?
How often do homelab UPS batteries need to be replaced?
Evidence ledger
- Last updated
- Methodology
- This homelab guide was written and edited by Lowell K. Wood IV in St. Louis County, MO. Specs and prices verified against vendor and project documentation current on the date above. Full editorial standard: methodology.
- Update log
- 2026-08-14 — Corrected two numbers that contradicted this page’s own tables. (1) Runtime at a 120 W load was stated as 45-55 minutes in both the FAQ and the runtime-curve section. The CP1500PFCLCD curve reproduced immediately above gives ~36 min at 135 W and ~55 min at 90 W, so 120 W cannot reach 45-55 min; interpolation gives ~42 min and this site’s UPS Runtime Calculator (model fitted to the same curve: 0.14 Wh/VA, 0.88 inverter efficiency, derate = 0.469 - 0.225 x load fraction) returns 40.6 min. The 45-55 figure had carried the 10%-load runtime across to a 13% load. Corrected to 40-45 minutes. (2) The reference-stack peak row was labelled ‘Sum of above’ but read ~245 W, below the minimum sum of its own peak column (Proxmox node 110-135 W + DS923+ spin-up 70-80 W + USW-24 30 W max + UDM-Pro 50 W max = 260-295 W). Corrected to 260-295 W, and the derived 27% / 17% UPS utilisation figures recomputed to 29-33% / 19-22%.
- 2026-08-15 — Meta-audit follow-up to the 2026-08-14 runtime correction: a third instance of the same wrong figure survived on this page. The “How I would size this stack today” section still mapped the ~120 W reference stack to “roughly 45-55 minutes of vendor-rated runtime” after the FAQ and the runtime-curve section had been corrected. Re-derived from the same CP1500PFCLCD curve reproduced above: 135 W gives ~36 min (81 Wh delivered) and 90 W gives ~55 min (82.5 Wh), so a 120 W load delivers ~81.5 Wh and runs ~41 min. Corrected to 40-45 minutes, matching the other two statements on this page.
- Corrections
- Spotted an error or a stale number? Email hello@techfuelhq.com. Confirmed corrections are added to the update log above.