BY MYSELF

Docker&Podman部署PeaNUT(一个微型UPS仪表盘)

指南 | Guides 2024年9月24日

First

PeaNUT是一个简单的微型UPS仪表盘工具

它可以以Web形式展示UPS信息且支持调整某些变量

Ghost_24092401_PeaNUT_01.png

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部署有非常详细的过程

https://github.com/Brandawg93/PeaNUT

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 | 抄袭

Over | 总结

一个值得部署使用的简单UPS看板同时支持Web操作调整一些参数

标签

xzllll

三分钟热度三分钟收获