Skip to main content

PeaNUT: Interfaz web para Network UPS Tools (NUT)


Introducción

Este artículo documenta el uso de PeaNUT como panel web para la supervisión de sistemas de alimentación ininterrumpida (UPS) gestionados mediante Network UPS Tools (NUT). Se integra como servicio auxiliar dentro del stack de infraestructura, proporcionando visibilidad del estado eléctrico sin interactuar directamente con el hardware.

PeaNUT actúa exclusivamente como capa de visualización: consume información expuesta por un servidor NUT ya operativo y la presenta en una interfaz web clara y accesible. No sustituye ni modifica la configuración de NUT.


Enfoque general

PeaNUT se posiciona como complemento natural a NUT en entornos donde:

  • El UPS ya está correctamente gestionado por NUT.
  • Se desea evitar la consulta constante vía CLI (upsc, logs, etc.).
  • Se requiere visibilidad rápida del estado eléctrico desde navegador.

La arquitectura es deliberadamente simple:

  • UPS físico gestionado por NUT.
  • Servidor NUT exponiendo métricas por red.
  • PeaNUT consumiendo esos datos y mostrándolos vía web.

PeaNUT no ejecuta acciones de apagado ni envía comandos al UPS; su función es puramente informativa.


Características relevantes

  • Panel web ligero Visualización del estado del UPS: línea, batería, carga, autonomía estimada y alarmas.

  • Compatibilidad total con NUT Funciona con cualquier UPS soportado por Network UPS Tools.

  • Despliegue sencillo en Docker Pensado para integrarse fácilmente en homelabs y servidores autogestionados.

  • Consumo mínimo de recursos Adecuado para sistemas modestos como Raspberry Pi o nodos auxiliares.

  • Modo solo lectura No altera el estado del UPS ni la configuración del servidor NUT.


Requisitos previos

Dependencias que condicionan el funcionamiento del servicio:

  • Servidor NUT instalado y funcionando.
  • Acceso al puerto 3493/TCP del servidor NUT (local o remoto).
  • Docker y Docker Compose disponibles en el host.

La configuración de NUT se documenta en un artículo independiente.


Desarrollo

Qué se hizo y por qué

  • Se despliega PeaNUT en contenedor para aislarlo de la configuración de NUT.
  • Se evita cualquier lógica de control o apagado desde PeaNUT, manteniendo responsabilidades separadas.
  • El servicio se expone únicamente como panel informativo, alineado con una arquitectura de mínima interferencia.

Configuración utilizada (solo enlaces)

Toda la configuración de despliegue se mantiene versionada en Gitea:

El repositorio incluye:

  • docker-compose.yml
  • Volúmenes persistentes
  • Variables de entorno necesarias para la conexión con NUT

Validación

Comprobaciones mínimas tras el despliegue:

  • Acceso correcto a la interfaz web de PeaNUT.
  • Visualización del UPS configurado en el servidor NUT.
  • Actualización en tiempo real del estado (línea / batería).
  • Ausencia de errores de conexión en los logs del contenedor.

Consideraciones importantes

  • PeaNUT no sustituye la lógica de apagado automático gestionada por NUT.
  • No debe exponerse públicamente sin protección adicional.
  • Resulta especialmente útil como panel de estado rápido en entornos con varios nodos dependientes del mismo UPS.

Resumen breve

PeaNUT proporciona una interfaz web clara y ligera para supervisar UPS gestionados por NUT. No añade lógica de control, pero mejora significativamente la visibilidad del estado eléctrico dentro de la infraestructura.


Referencias