Power Outage Problems and Solutions: UPS NUT SERVER SETUP & WEBNUT UI with Docker
We have 1 ups so far.
root@rack2:~# lsusb
lsusb
Bus 002 Device 002: ID 8087:8002 Intel Corp. 8 channel internal hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 413c:a001 Dell Computer Corp. Hub
Bus 001 Device 005: ID 051d:0003 American Power Conversion UPS
Bus 001 Device 002: ID 8087:800a Intel Corp. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@rack2:~# sudo apt install nut nut-client nut-server
sudo apt install nut nut-client nut-server
root@rack2:~# sudo nut-scanner -U
sudo nut-scanner -U
Scanning USB bus.
[nutdev1]
driver = "usbhid-ups"
port = "auto"
vendorid = "051D"
productid = "0003"
product = "Smart-UPS SRT FW:UPS 05.3 / ID=1010"
serial = "AS1841190039"
vendor = "American Power Conversion"
bus = "001"
root@rack2:~# sudo cp /etc/nut/ups.conf /etc/nut/ups.example.conf
sudo cp /etc/nut/ups.conf /etc/nut/ups.example.conf
root@rack2:~# sudo nano /etc/nut/ups.conf
sudo nano /etc/nut/ups.conf
pollinterval = 1
maxretry = 3
[apc-ups]
driver = usbhid-ups
port = auto
desc = "APC Smart-UPS"
vendorid = 051D
productid = 0003
serial = AS1841110039
sudo nano /etc/nut/upsmon.conf
RUN_AS_USER root
MONITOR apc-ups@localhost 1 admin secret master
sudo nano /etc/nut/upsd.conf
LISTEN 0.0.0.0 3493
sudo nano /etc/nut/nut.conf
MODE=netserver
sudo nano /etc/nut/upsd.users
[monuser]
password = secret
admin master
root@rack2:~# sudo service nut-server restart
root@rack2:~# sudo service nut-client restart
root@rack2:~# sudo systemctl restart nut-monitor
root@rack2:~# sudo upsdrvctl stop
root@rack2:~# sudo upsdrvctl start
sudo service nut-server restart
sudo service nut-client restart
sudo systemctl restart nut-monitor
sudo upsdrvctl stop
sudo upsdrvctl start
root@rack2:~# upsc apc-ups@localhost
upsc apc-ups@localhost
upsc apc-ups@localhost battery.charge
Now proceed to install client web ui on other machine:
here is the docker compose file:
services:
nut:
image: edgd1er/webnut
container_name: webnut
environment:
- UPS_HOST=your-host.local.lan
- UPS_PORT=3493
- UPS_USER=admin
- UPS_PASSWORD=secret
restart: unless-stopped
security_opt:
- no-new-privileges:true
networks:
- nginxproxymanager_default
ports:
- 6543:6543
networks:
nginxproxymanager_default:
external: true
Next step is your programming still with nut client api that you are familiar with like nodejs:
No Comments