- Uptime Kuma es una herramienta de código abierto que permite monitorizar la disponibilidad de servicios mediante HTTP, TCP, DNS y Ping.
- El despliegue se realiza de forma sencilla mediante contenedores Docker o Docker Compose, asegurando la persistencia de datos en volúmenes locales.
- El sistema integra más de 90 canales de notificación, destacando Telegram y Discord para recibir alertas en tiempo real.
Si tienes un pequeño servidor en casa, un NAS o simplemente gestionas un par de webs, sabrás valorar la tranquilidad mental de saber que todo funciona bien sin tener que entrar a mirar cada cinco minutos. A veces damos por hecho que, porque el equipo esté encendido, el servicio responde, pero la realidad es que un contenedor puede estar en ejecución mientras que la aplicación interna ha petado o se ha quedado bloqueada, dejándonos colgados. Por suerte, tenemos la posibilidad de instalar Uptime Kuma con Docker para vigilar tus servicios y páginas web.
Uptime Kuma es una joya del código abierto que nos permite vigilar nuestros servicios sin tener que montar una infraestructura empresarial complicadísima. Es la opción ideal para quienes buscan algo más potente que un simple ping, pero no quieren complicarse la vida configurando Prometheus o pagando suscripciones mensuales caras. Básicamente, es un vigilante 24/7 que nos pega un toque en el móvil en cuanto algo deja de responder.
Requisitos previos para el despliegue
Antes de lanzarnos a instalar nada, necesitamos tener el terreno preparado. Lo más importante es contar con un servidor que tenga Docker y Docker Compose ya operativos. Si no los tienes, puedes instalarlos rápidamente en distribuciones como Ubuntu o Debian usando el script oficial de Docker. En cuanto a los recursos, Uptime Kuma es sorprendentemente ligero; con un VPS modesto de 1 vCPU y 1 GB de RAM vas sobrado, ya que el sistema suele consumir unos 200 MB de memoria RAM incluso con un centenar de monitores activos.
Otro punto a tener en cuenta es el almacenamiento. Aunque la base de datos SQLite que usa por defecto no es gigante, si quieres guardar un histórico de caídas muy largo, te recomiendo dedicarle al menos 10 GB de espacio. Además, si planeas acceder al panel desde fuera de tu red local, vas a necesitar un dominio propio y un proxy inverso como Nginx Proxy Manager para gestionar los certificados SSL y que la conexión sea segura.
Instalación paso a paso con Docker Compose
La manera más limpia y profesional de montar Uptime Kuma es mediante un archivo YAML. Primero, creamos una carpeta dedicada para mantener el orden, por ejemplo en el directorio home, y dentro generamos el archivo docker-compose.yml. Este método es preferible porque nos permite gestionar las actualizaciones y volúmenes de forma mucho más sencilla que con un comando suelto.
Un ejemplo de configuración optimizada sería el siguiente:
services:
uptime-kuma:
image: louislam/uptime-kuma:2
container_name: uptime-kuma
restart: unless-stopped
ports:
- "3001:3001"
volumes:
- ./data:/app/data
environment:
- TZ=Europe/Madrid
healthcheck:
test:
interval: 60s
timeout: 30s
retries: 5
Una vez guardado el archivo, basta con ejecutar docker compose up -d para que el contenedor se levante en segundo plano. Ahora solo queda abrir el navegador y entrar en la IP de tu servidor seguida del puerto 3001. Lo primero que verás es el asistente para crear el usuario administrador. Ojo aquí: elige una contraseña robusta porque Uptime Kuma no tiene un sistema de recuperación de claves sencillo y, si la pierdes, te tocará meterte a editar la base de datos a mano.
Alternativa rápida: Instalación mediante Docker Run
Si no quieres líos de archivos YAML y necesitas tener el monitor funcionando ya mismo, existe la opción del «one-liner». Ejecutando un único comando en la terminal puedes desplegar el servicio. Este comando crea el contenedor, asigna el puerto 3001 y establece un volumen persistente llamado uptime-kuma para que no pierdas tus configuraciones al reiniciar el contenedor.
El comando sería: docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1. Aunque es más rápido, recuerda que para entornos de producción es mucho más cómodo usar Compose para centralizar la gestión de tus servicios.
Instalar Uptime Kuma con Docker: Configuración inicial y optimización
Una vez dentro del panel, no te limites a crear monitores y ya está. Hay tres ajustes críticos que debes tocar. Primero, la zona horaria en el menú General; si no la cambias, los registros de caídas aparecerán en UTC y te volverás loco calculando la hora real. Segundo, activa la autenticación de dos factores (2FA) en el apartado de seguridad, ya que el panel guarda tokens sensibles de tus notificaciones. Tercero, si usas un proxy inverso, activa la opción de confiar en las cabeceras del proxy para que el sistema registre la IP real del visitante y no la del proxy.
Para que el sistema no se coma los recursos de tu servidor, ajusta los intervalos de comprobación. No es necesario que monitorices un servicio cada 10 segundos si no es crítico; un intervalo de 60 segundos es más que suficiente para la mayoría de los casos y reduce drásticamente la carga de CPU y el tamaño de la base de datos.
Tipos de monitores y alertas
Instalar Uptime Kuma con Docker nos brinda múltiples ventajas. Puedes vigilar desde simples webs mediante HTTP/HTTPS hasta puertos TCP específicos, consultas DNS o incluso el estado de otros contenedores Docker. Una funcionalidad muy útil es la comprobación de palabras clave: así evitas que el monitor te diga que todo está OK solo porque la web devuelve un código 200, cuando en realidad está mostrando una página de error personalizada.
Para que el sistema sea útil, necesitas que te avise. Telegram es probablemente la opción más cómoda. Solo tienes que crear un bot con @BotFather, obtener el token y el Chat ID, y configurarlo en el panel de Notificaciones. Discord también es genial mediante webhooks, aunque hay que tener cuidado con los límites de tasa de mensajes si tienes cientos de monitores cayendo a la vez, especialmente si Uptime Kuma no envía notificaciones correctamente por saturación.
Si gestionas servicios para otras personas, puedes crear Páginas de Estado públicas. Estas permiten mostrar la disponibilidad de tus servicios mediante una URL externa sin que nadie tenga acceso a tu panel de administración. Lo ideal es tener una página pública para los clientes y otra privada para tu control interno con monitores más sensibles.
Errores comunes y mantenimiento
El fallo más grave que cometen los usuarios es olvidar las copias de seguridad. Toda la configuración reside en la carpeta /app/data. Si el disco falla o borras el volumen por error, pierdes todo el historial y los monitores. Programa un script sencillo que haga un backup diario de ese directorio hacia otra ubicación o la nube.
Otro error es no activar el modo mantenimiento antes de reiniciar el servidor. Si no lo haces, el registro de eventos se llenará de caídas falsas y recibirás una lluvia de alertas innecesarias en tu móvil. Activar el mantenimiento pausa las notificaciones y mantiene el historial limpio mientras haces tus tareas de administración.
Instalar Uptime Kuma con Docker transforma la gestión de cualquier homelab o infraestructura pequeña, permitiendo pasar de una actitud reactiva a una proactiva. Al combinar la ligereza de los contenedores con la potencia de alertas en tiempo real y la flexibilidad de monitorizar múltiples protocolos, se consigue un control total sobre la disponibilidad de los servicios sin complicaciones técnicas excesivas ni costes económicos.
Redactor especializado en temas de tecnología e internet con más de diez años de experiencia en diferentes medios digitales. He trabajado como editor y creador de contenidos para empresas de comercio electrónico, comunicación, marketing online y publicidad. También he escrito en webs de economía, finanzas y otros sectores. Mi trabajo es también mi pasión. Ahora, a través de mis artículos en Tecnobits, intento explorar todas las novedades y nuevas oportunidades que el mundo de la tecnología nos ofrece día a día para mejorar nuestras vidas.