Uptime Kuma es una herramienta de monitoreo de auto-hospedaje muy popular que permite a los administradores de sistemas realizar un seguimiento del tiempo de actividad de sus servicios y recibir notificaciones en caso de fallos.
Es una excelente alternativa a soluciones de terceros y, al ser auto-hospedado, garantiza un mayor control y privacidad.
Pre-requisitos:
- Un servidor con Debian 12 instalado.
- Acceso root o un usuario con privilegios de sudo.
Instalación de NodeJS
De versión de NodeJS, en la documentación oficial mencionan que es compatible desde la versión 14 hasta la 20.4, por lo que recomendamos utilizar la versión LTS disponible.
Para ello deberéis de seguir este otro tutorial:

Instalación de Uptime Kuma
Uptime Kuma se puede instalar utilizando Docker, pero en este tutorial lo instalaremos manualmente, lo primero será descargar el repositorio:
cd /opt
git clone https://github.com/louislam/uptime-kuma.git
Y ejecutamos la configuración inicial:
npm run setup
En este punto, podríamos arrancar la aplicación web, pero vamos a hacerlo utilizando PM2.
Instalación y configuración de PM2
PM2 es un administrador de procesos en producción para aplicaciones Node.js. Proporciona un conjunto de características robustas que son esenciales para mantener las aplicaciones Node.js en funcionamiento de forma fiable en un entorno de producción.
npm install pm2 -g && pm2 install pm2-logrotate
Iniciamos Uptime Kuma con PM2:
pm2 start /opt/uptime-kuma/server/server.js --name uptime-kuma
Tras ejecutar el comando obtendremos lo siguiente:
[PM2] Starting /opt/uptime-kuma/server/server.js in fork_mode (1 instance)
[PM2] Done.
┌──┬─────────────┬───────────┬─────────┬──────┬───────┬────────┬───┐
│id│name │ namespace │ version │ mode │ pid │ uptime │ ↺ │
├──┼─────────────┼───────────┼─────────┼──────┼───────┼────────┼───┤
│1 │uptime-kuma │ default │ 1.23.3 │ fork │ 17709 │ 0s │ 0 │
└──┴─────────────┴───────────┴─────────┴──────┴───────┴────────┴───┘
Si ahora comprobamos los puertos observaremos que nuestra aplicación está escuchando por el puerto 3001
:
# ss -tulpn | grep 3001
tcp LISTEN 0 511 *:3001 *:* users:(("node /opt/uptim",pid=23503,fd=24))
Si accedemos vía IP del servidor utilizando el puerto 3001, debería de cargar la pantalla de login. Si obtenemos esto, entonces podemos guardar la configuración y añadirlo al arranque del servidor:
pm2 save
[PM2] Saving current process list...
[PM2] Successfully saved in /root/.pm2/dump.pm2
Y para que inicie al arranque:
pm2 startup
Acceder vía dominio
Si queremos configurar el acceso vía dominio, podemos hacerlo creando un Nginx Proxy. Para ello deberás de seguir estas instrucciones:

Accediendo por primera vez
Cuando accedamos utilizando el dominio, se iniciará la configuración inicial para Uptime Kuma.

Lo primero será configurar un idioma y el usuario de acceso.

Una vez registro nuestro usuario, ya tendremos acceso a nuestro panel para gestionar las webs que queremos monitorizar.
Al añadir un monitor nuevo, se ve la siguiente forma:

Comentarios