PeaNUT es una interfaz web moderna y elegante que nos permite monitorizar de forma visual los SAIs gestionados por Network UPS Tools (NUT). Con PeaNUT podremos consultar el estado de nuestros dispositivos UPS de manera intuitiva desde cualquier navegador.

En este post, explicaré cómo instalar y configurar PeaNUT usando Docker y Docker Compose.

Requisitos

Consideraciones a tener en cuenta

  1. PeaNUT se conecta al puerto 3493 del servidor NUT por defecto. Asegúrate de que tu servidor NUT está configurado en modo netserver y acepta conexiones de red. Y modifica el puerto si es necesario.

  2. La interfaz web de PeaNUT es solo de lectura. No permite modificar configuraciones del SAI, únicamente visualizar su estado.

  3. Este post cubre la instalación con Docker en modo rootless, si usas Docker en modo root, deberás ajustar las rutas del socket de Docker.

¿Qué es PeaNUT?

PeaNUT es una interfaz web ligera y moderna para Network UPS Tools. Está diseñada para ser simple, rápida y fácil de usar, proporcionando una vista clara del estado de tus SAIs sin complicaciones.

Características principales:

  • Interfaz web moderna y responsive
  • Visualización en tiempo real del estado del UPS
  • Información detallada sobre carga, batería y voltajes
  • Configuración sencilla mediante variables de entorno
  • Compatible con múltiples dispositivos UPS
  • Ligero y eficiente

Instalación de PeaNUT con Docker

Crear estructura de directorios

Comenzamos creando el directorio donde alojaremos los archivos de configuración de PeaNUT:

mkdir -p ~/Rootless-Docker-Files/peanut/config

Si usas una estructura diferente para tus proyectos Docker, ajusta la ruta según tus necesidades.

Crear docker-compose.yml

Creamos el fichero docker-compose.yml para PeaNUT:

nano -cl ~/Rootless-Docker-Files/peanut/docker-compose.yml

Agregamos el siguiente contenido:

services:
  peanut:
    image: brandawg93/peanut:latest
    container_name: PeaNUT
    restart: unless-stopped
    volumes:
      - ./config:/config
    ports:
      - 3494:8080
    environment:
      - WEB_PORT=8080

Explicación de la configuración:

  • image: brandawg93/peanut:latest: Imagen oficial de PeaNUT.
  • container_name: PeaNUT: Nombre del contenedor.
  • restart: unless-stopped: El contenedor se reiniciará automáticamente excepto si se detiene manualmente.
  • volumes: Montamos un volumen para que la configuración sea persistente. En este caso usaremos el directorio config que creamos antes.
  • ports: Mapeamos el puerto 8080 del contenedor al puerto 3494 del host.
  • environment: Variables de entorno, en este caso el puerto donde el contenedor servirá la web internamente.

Levantar el contenedor

Iniciamos el escenario que hemos definido en el docker-compose.yml:

docker compose -f ~/Rootless-Docker-Files/peanut/docker-compose.yml up -d

Verificamos que el contenedor está en ejecución:

docker compose -f ~/Rootless-Docker-Files/peanut/docker-compose.yml ps

PeaNUT Running - Contenedor en ejecución

Primer acceso a la interfaz web

En este punto, PeaNUT ya debería estar accesible en http://localhost:3494 o http://<SERVER_IP>:3494:

Configuración inicial de PeaNUT

Al acceder por primera vez a PeaNUT, tendrás que configurar la conexión a tu servidor NUT.

Esto lo realizarás desde el menú de configuración, puedes acceder haciendo clic en el icono de engranaje en la esquina superior derecha.

En el apartado Administrar servidores, introduces los datos de conexión a tu servidor NUT:

  1. Nombre: Un nombre descriptivo para el servidor. Puede ser cualquier cosa.
  2. Servidor: Dirección del servidor NUT (sin incluir el puerto).
  3. Puerto: Puerto del servidor NUT (por defecto 3493).
  4. Nombre de usuario: Si has seguido la guía que publiqué sobre NUT, aquí debes poner observer.
  5. Contraseña: La contraseña que configuraste para el usuario observer (o el que vayas a utilizar).

PeaNUT Web Interface - Configuración del servidor NUT

Con estos campos rellenos, aplicamos los cambios y PeaNUT comenzará a mostrar la información del SAI en tiempo real:

PeaNUT Web Interface - Dashboard principal

Alternativas a PeaNUT

Si PeaNUT no se ajusta a tus necesidades o quieres explorar otras opciones, echa un vistazo al proyecto NUT Web GUI.

Conclusión

PeaNUT es una excelente opción para monitorizar tus SAIs gestionados por NUT de forma visual y sencilla. Su instalación mediante Docker es rápida y fácil, y su interfaz nos facilita mucho la supervisión de nuestros SAIs.

No olvides pasarte por el post anterior, donde explico cómo configurar NUT e implementar notificaciones mediante Telegram para estar siempre informado sobre el estado de tu SAI:

Seguridad

Algunas recomendaciones de seguridad:

  • Mantén PeaNUT accesible solo desde tu red local (no lo expongas a Internet directamente).
  • Si necesitas acceso remoto, usa una VPN para conectarte a tu red local.
  • Mantén Docker y las imágenes actualizadas, prestando atención a los cambios en las versiones nuevas.

Referencias