Docker&Podman部署PeaNUT(一个微型UPS仪表盘)
First
PeaNUT是一个简单的微型UPS仪表盘工具
它可以以Web形式展示UPS信息且支持调整某些变量

Requirements | 要求
想要将你的UPS接入PeaNUT 需要以下前提条件
- 系统为Linux且已使用NUT接入UPS
如未接入请看我这篇Blog: https://xzllll.com/23060701/
OS&APP Version | 系统&软件版本
OS

Podman

APP
v2.6.1

Installation | 安装
PeaNUT部署非常简单 使用Docker即可
值得说的就是一些变量
- NUT_HOST
- NUT服务地址(例如localhost)
- NUT_PORT
- NUT服务端口
- WEB_HOST
- PeaNUT监听地址
- WEB_PORT
- PeaNUT监听端口
- USERNAME
- NUT服务用户名
- PASSWORD
- NUT服务密码
- BASE_PATH
- 反向代理路径
▼ Github对于Docker部署有非常详细的过程
Docker部分我这里照抄
Docker Run
docker run -p 8080:8080 --restart unless-stopped \
--env NUT_HOST=nut-upsd --env NUT_PORT=3493 \
--env WEB_PORT=8080 brandawg93/peanut
Docker Compose
services:
peanut:
image: brandawg93/peanut:latest
container_name: PeaNUT
restart: unless-stopped
ports:
- 8080:8080
environment:
- NUT_HOST=localhost
- NUT_PORT=3493
- WEB_PORT=8080
Podman Run
podman run -p 8080:8080 --restart unless-stopped \
--env NUT_HOST=nut-upsd --env NUT_PORT=3493 \
--env WEB_PORT=8080 brandawg93/peanut
Podman Quadlet
▼ peanut.container内容如下
[Unit]
Description=A Tiny Dashboard for Network UPS Tools
After=network-online.target
Wants=network-online.target
Before=shutdown.target
[Container]
Network=host
AutoUpdate=registry
ContainerName=PeaNUT
Environment="NUT_HOST=localhost" "NUT_PORT=3493" "WEB_HOST=10.7.7.7" "WEB_PORT=30004" "USERNAME=upsmaster" "PASSWORD=088d8ne0c8"
Image=docker.io/brandawg93/peanut
[Service]
Restart=always
[Install]
WantedBy=multi-user.target
▼ 通过Quadlet配置可以看到我自定义了以下变量
- NUT_HOST
- NUT服务地址(例如localhost)
- NUT_PORT
- NUT服务端口
- WEB_HOST
- PeaNUT监听地址
- WEB_PORT
- PeaNUT监听端口
- USERNAME
- NUT服务用户名
- PASSWORD
- NUT服务密码
▼ 变量来由如下所示

▼ 重载systemd
systemctl daemon-reload
▼ 启动 peanut
systemctl start peanut
Use | 使用
启动完成后按照设定的URL打开即可
▼ 界面如下所示

Variables | 变量
界面倒是也没啥说的 主要是看一些变量
battery.charge.low
- Remaining battery level when UPS switches to LB (percent)
当达到设定阈值时UPS会向NUT程序发送低电量警告让NUT做出下一步动作
我将其设定为95%:当UPS电量低于95%时触发低电量警告随后NUT触发关机操作
input.transfer.high
- High voltage transfer point (V)
输入UPS的最高电压 一般不需要更改
ups.delay.shutdown
- Interval to wait after shutdown with delay command (seconds)
设定延迟关机命令所需的等待时间间隔
Thanks&Copy | 抄袭
- https://networkupstools.org/docs/developer-guide.chunked/apas02.html
- https://github.com/Brandawg93/PeaNUT
Over | 总结
一个值得部署使用的简单UPS看板同时支持Web操作调整一些参数