Setting up a NUT Server
Install NUT
sudo apt install nut
Select your mode
sudo vi /etc/nut/nut.conf
(In my case, I've installed NUT on a VM and it'll be managing the UPS for the whole server...)
MODE=netserver
Select your hardware
sudo vi /etc/nut/ups.conf
[cyberpower] driver = usbhid-ups port = auto desc = "A random surplus UPS"
(In my case, I'm setting up a CyberPower 1000AVR & connecting it by passing USB through to the VM...)
If your UPS isn't handled natively by the usbhid-ups driver, or you need to set options, start with the ups.conf documentation for more details.
Start & test
sudo upsdrvctl start
You should see:
Network UPS Tools - UPS driver controller 2.7.4 Network UPS Tools - Generic HID driver 0.41 (2.7.4) USB communication driver 0.33
Possibly followed by a bit of information about your UPS
Set up communications
(needed if you've set up as MODE = netserver...)
You can determine your servers IP address using:
ip a
sudo vi /etc/nut/upsd.conf
LISTEN 192.168.0.7 LISTEN 127.0.0.1 3493 LISTEN ::1 3493
Where 192.168.0.7 should be replaced with the actual IP of the machine.
See the upsd.conf documentation for more details.
Set up access
sudo vi /etc/nut/upsd.users
[upsmon] password = supersecretpassword upsmon primary
(used to be "upsmon master", but the PC police got to it.)
See the upsd.users documentation for more details.
sudo vi /etc/nut/upsmon.conf
MONITOR cyberpower@ups.server.tld 1 monuser supersecretpassword master
(where ups.server.tld is the name or IP of your NUT server.)
See the upsmon.conf documentation for more details.