Sign inSign up

mowoau/nut-upsd

By mowoau

•Updated almost 5 years ago

0

384

mowoau/nut-upsd repository overview

docker-compose.yaml

version: "3"
services:
 nut:
    container_name: nut-upsd
    image: docker.io/mowoau/nut-upsd
    restart: unless-stopped
    ports:
      - "3493:3493"
    devices:
      - /dev/bus/usb/xxx/xxx:/dev/bus/usb/xxx/xxx
    volumes:
      - /path/etc/:/etc/nut/
      - /path/log:/var/log/nut
      - /path/cmd:/opt/cmd
    environment:
      UPS_NAME: ""
      UPS_DESC: ""

Devices: Use lsusb command to find the attached UPS

upssched.conf (add it to "/path/etc/")

CMDSCRIPT /opt/cmd/ups_status.sh

PIPEFN /var/run/nut/upssched.pipe
LOCKFN /var/run/nut/upssched.lock

AT ONBATT * EXECUTE emailonbatt
AT ONLINE * EXECUTE emailonline
AT LOWBATT * EXECUTE emaillowbattery
AT REPLBATT * EXECUTE replbatt

ups_status.sh (add it to "/path/cmd/")

#!/bin/sh
mail_server='IP'
from_mail='mail'
to_mail='mail'
date=`date '+%Y/%m/%d %H:%M:%S'`
date_header=`date +'%a, %-d %b %Y %H:%M:%S %z'`
mail_template="From: $from_mail\r\nTo: $to_mail\r\nMime-Version: 1.0\r\nContent-Type: text/plain\r\nDate: $date_header\r\nSubject: $date"
ups_status=`/usr/bin/upsc ups_name`

case $1 in
        emailonbatt)
                  echo $date >> /var/log/nut/poweroffline.log
                  echo -e "$mail_template UPS - Power is down\r\n\n$ups_status" | sendmail -S $mail_server -f $from_mail $to_mail
                  ;;
        emailonline)
                  echo $date >> /var/log/nut/powerbackonline.log
                                  echo -e "$mail_template UPS - Power is back\r\n\n$ups_status" | sendmail -S $mail_server -f $from_mail $to_mail
                  ;;
        emaillowbattery)
                  echo $date >> /var/log/nut/lowbattery.log
                  echo -e "$mail_template UPS - Low Battery\r\n\n$ups_status" | sendmail -S $mail_server -f $from_mail $to_mail
                  ;;
        replbatt)
                  echo -e "$mail_template UPS - Replace Battery\r\n\n$ups_status" | sendmail -S $mail_server -f $from_mail $to_mail
                  ;;
               *)
                  echo -e "$mail_template UPS Unrecognized event: $1\r\n\n$ups_status" | sendmail -S $mail_server -f $from_mail $to_mail
                  ;;
esac

Tag summary

Content type

-

Digest

Size

-

Last updated

almost 5 years ago

docker pull mowoau/nut-upsd