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
- Un servidor con NUT instalado y configurado. Si aún no lo has hecho, consulta mi post sobre instalación de NUT.
- Docker y Docker Compose instalados en tu sistema. Puedes seguir este post sobre Docker.
Consideraciones a tener en cuenta
-
PeaNUT se conecta al puerto 3493 del servidor NUT por defecto. Asegúrate de que tu servidor NUT está configurado en modo
netservery acepta conexiones de red. Y modifica el puerto si es necesario. -
La interfaz web de PeaNUT es solo de lectura. No permite modificar configuraciones del SAI, únicamente visualizar su estado.
-
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 directorioconfigque 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
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:
- Nombre: Un nombre descriptivo para el servidor. Puede ser cualquier cosa.
- Servidor: Dirección del servidor NUT (sin incluir el puerto).
- Puerto: Puerto del servidor NUT (por defecto
3493). - Nombre de usuario: Si has seguido la guía que publiqué sobre NUT, aquí debes poner
observer. - Contraseña: La contraseña que configuraste para el usuario
observer(o el que vayas a utilizar).
Con estos campos rellenos, aplicamos los cambios y PeaNUT comenzará a mostrar la información del SAI en tiempo real:
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.