
¿Alguna vez tus servidores o sitios web dejaron de funcionar sin que te dieras cuenta? ¿Te preocupa perder clientes porque no puedes responder rápidamente a un fallo?
¡Tenemos la solución perfecta para ti! Uptime Kuma es una herramienta de monitoreo de código abierto que te permite estar siempre un paso adelante. Desde una interfaz moderna, puedes rastrear el estado de tus servicios y recibir alertas antes de que el problema escale. Lo mejor de todo: su instalación con Docker es tan sencilla que te tomará menos tiempo que preparar un café.
Si no tienes Docker instalado, no te preocupes, puedes revisar nuestra guía completa sobre la instalación de Docker y Docker Compose. Una vez listo, estarás a solo un comando de comenzar a monitorear tus sistemas.
¿Por Qué Deberías Elegir Uptime Kuma?

Antes de sumergirnos en los detalles técnicos, estas son algunas razones por las que Uptime Kuma debería estar en tu arsenal:
- Mantén todo bajo control: Monitorea tus servidores, sitios web y servicios 24/7.
- Interfaz amigable: No necesitas ser un experto en tecnología para usarlo.
- Alertas en tiempo real: Configura notificaciones en plataformas como Telegram, Slack o email.
- Código abierto y gratuito: Personalízalo como quieras sin preocuparte por costos ocultos.
- Rendimiento eficiente: Ideal incluso para entornos con recursos limitados.
¿Listo para instalarlo? ¡Vamos a ello!
Requisitos Previos
Antes de comenzar, asegúrate de contar con lo siguiente:
- Docker: Si no lo tienes configurado, revisa nuestro artículo previo sobre cómo instalar Docker.
- Linux: Una distribución como Ubuntu 20.04/22.04 o Debian 10/11.
- Permisos sudo: Necesitarás acceso como superusuario para instalar paquetes y configurar Docker.
- Conexión a Internet: Para descargar los paquetes necesarios.
Pasos para Instalar Uptime Kuma con Docker

Paso 1: Actualiza tu Sistema
Antes de cualquier instalación, asegúrate de que todo en tu sistema esté actualizado:
sudo apt update && sudo apt upgrade -yEsto te asegura evitar problemas de compatibilidad entre paquetes.
Paso 2: Instalar curl (si aún no lo tienes)
curl es necesario para descargar el script de instalación de Docker. Si no lo tienes, instálalo con este comando:
sudo apt install curl -yPaso 3: Instalar Docker (si no lo tienes)
Si Docker aún no está instalado, puedes configurarlo rápidamente con este comando:
curl -sSL https://get.docker.com/ | shCuando termine la instalación, verifica que todo esté funcionando ejecutando:
docker --versionSi obtienes una versión, ¡estás listo para continuar!
Paso 4: Instalar Uptime Kuma con Docker
Aquí viene la parte emocionante: desplegar Uptime Kuma como un contenedor Docker. Ejecuta este comando:
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1¿Qué Hace Este Comando?
-d: Ejecuta el contenedor en segundo plano.--restart=always: Configura el contenedor para reiniciarse automáticamente si tu sistema se reinicia.-p 3001:3001: Mapea el puerto 3001 del contenedor al puerto 3001 de tu servidor.-v uptime-kuma:/app/data: Crea un volumen persistente para almacenar datos de configuración y métricas.--name uptime-kuma: Nombra el contenedor comouptime-kumapara identificarlo fácilmente.louislam/uptime-kuma:1: Usa la imagen oficial de Uptime Kuma, versión 1.
Deberías ver algo como esto:

Paso 5: Acceder a Uptime Kuma
Abre tu navegador y accede a la interfaz de Uptime Kuma en:
http://:3001
Si estás ejecutándolo localmente, simplemente usa:
http://localhost:3001
Si no usabes tu IP usa:
ip aEn nuestro caso es:

Aquí podrás configurar tu cuenta de administrador, añadir monitores y comenzar a rastrear tus servicios.

Crea tu usuario de administrador, configura una contraseña fuerte y elije tu idioma

Ya puedes añadir monitores y comenzar a rastrear tus servicios.
Controla el tamaño de la base de datos
Uptime Kuma guarda cada comprobación que hace. Con un intervalo de 60 segundos y diez monitores son 14.400 registros al día, y por defecto no borra ninguno. Esto no da problemas la primera semana: los da al sexto mes, cuando el disco se llena y no sabes por qué. Merece la pena dejarlo resuelto ahora que acabas de instalarlo.
Método Sencillo (Función Nativa en Uptime Kuma)
Nota: En las versiones mas recientes, Uptime Kuma integra opciones nativas para controlar la retención de datos desde el panel. Ahora es posible ajustar el número de días que se conservan los datos históricos y realizar un Shrink database para compactarla.
Pasos para el método nativo:
- Accede a Uptime Kuma y haz click en el ícono de la cuenta arriba a la derecha
- Click en Settings
- Click en Monitor History.
- Establece la retención en días según tus necesidades. Por ejemplo, 30 días.
- Si lo deseas, haz clic en Shrink database para ejecutar VACUUM en SQLite. Esta acción compactará la base de datos, eliminando fragmentos vacíos.

De esta forma, podrás controlar el crecimiento de la base de datos sin recurrir a scripts ni cron jobs.
Nota: Si tienes una base de datos creada después de la versión 1.10.0 de Uptime Kuma, AUTO_VACUUM ya está habilitado y es posible que no necesites el método manual. Sin embargo, conocerlo te brinda una mejor comprensión del funcionamiento interno y puede ser útil para escenarios avanzados.
Método Granular y Detallado (Manual)
Si, por algún motivo, prefieres un control más detallado o usas una versión anterior de Uptime Kuma que no incluya las opciones nativas, puedes recurrir al siguiente método manual para gestionar la retención de datos. También puede ser útil si necesitas mayor flexibilidad en tus ajustes, periodos de retención específicos o acciones adicionales.
1. Instalar SQLite
SQLite es el motor de base de datos que utiliza Uptime Kuma. Para interactuar con su base de datos, instálalo ejecutando:
sudo apt install sqlite3 -yEsto te permitirá ejecutar comandos para limpiar y compactar la base de datos.
2. Crear un Script de Limpieza
Navega al directorio donde se almacena la base de datos de Uptime Kuma:
cd /var/lib/docker/volumes/uptime-kuma/_data/Crea un archivo llamado clean.sh con el siguiente contenido:
nano clean.shContenido del Script:
#!/bin/bash
DB_PATH="/var/lib/docker/volumes/uptime-kuma/_data/kuma.db"
sqlite3 "$DB_PATH" <<EOF
DELETE FROM heartbeat WHERE time < datetime('now', '-1 year');
VACUUM;
.exit
EOFGuarda el archivo y sal del editor (Ctrl+O, Enter, Ctrl+X).
¿Qué Hace Este Script?
DB_PATH: Define la ruta a la base de datoskuma.db.- Eliminar registros antiguos: Usa el comando
DELETE FROM heartbeatpara eliminar todos los registros en la tablaheartbeatque sean más antiguos que un año (datetime('now', '-1 year')). - Compactar la base de datos: Ejecuta
VACUUM, que reduce el tamaño físico del archivo al eliminar fragmentos vacíos creados por la operación de eliminación.
¿Cómo Cambiar el Intervalo de Tiempo?
- 1 mes: Cambia
datetime('now', '-1 year')pordatetime('now', '-1 month'). - 3 meses: Usa
datetime('now', '-3 months'). - 6 meses: Usa
datetime('now', '-6 months').
Ajusta este valor según tus necesidades de retención de datos.
3. Hacer el Script Ejecutable
Para que el script se pueda ejecutar, cambia sus permisos:
chmod +x clean.sh4. Programar Limpiezas Automáticas con Cron
Configura un cron job para que el script se ejecute automáticamente. Edita la tabla de cron:
crontab -eConfiguración del Cron Job
Añade la siguiente línea al final del archivo para ejecutarlo diariamente a las 2:00 a.m.:
0 2 * * * /var/lib/docker/volumes/uptime-kuma/_data/clean.sh >> /var/lib/docker/volumes/uptime-kuma/_data/clean.log 2>&1¿Qué Hace Este Cron Job?
0 2 * * *: Programa el script para ejecutarse diariamente a las 2:00 a.m./var/lib/docker/volumes/uptime-kuma/_data/clean.sh: Especifica la ruta del script a ejecutar.>> /var/lib/docker/volumes/uptime-kuma/_data/clean.log: Redirige la salida estándar (resultados normales del script) al archivoclean.log, guardando un historial de las ejecuciones del script.2>&1: Redirige los errores (si los hay) al mismo archivoclean.log, permitiéndote revisar cualquier problema.
¿Cómo Revisar los Logs?
Puedes verificar el historial de ejecuciones del script con:
cat /var/lib/docker/volumes/uptime-kuma/_data/clean.log¿Cómo Cambiar la Frecuencia?
- Ejecutar cada hora: Cambia
0 2 * * *por0 * * * *. - Ejecutar cada semana: Usa
0 2 * * 0. - Ejecutar cada mes: Usa
0 2 1 * *.
Guarda y cierra el archivo (Ctrl+O, Enter, Ctrl+X).
Opciones Adicionales para Mejorar el Mantenimiento
Usar Nginx Proxy Manager para Acceder a Uptime Kuma
Si no deseas exponer directamente el puerto interno de Uptime Kuma ni abrir puertos específicos para cada servicio, integrar Nginx Proxy Manager puede ser la solución. Este proxy inverso te permitirá canalizar el tráfico a través de los puertos estándar (80 y 443) que ya tienes abiertos, ofreciendo una capa adicional de seguridad y simplicidad. Además, podrás configurar certificados SSL fácilmente, centralizar el acceso a múltiples aplicaciones y mantener un entorno más organizado.
Para aprender a instalarlo, revisa nuestro post sobre cómo instalar Nginx Proxy Manager en Docker.
Ejecutar Uptime Kuma en un Entorno Virtualizado
Si prefieres desplegar Uptime Kuma en una máquina virtual o un contenedor LXC, Proxmox VE es una excelente opción. Esta plataforma te permite crear y gestionar entornos aislados de forma eficiente. Para aprender a instalarlo, revisa nuestra guía Cómo Instalar Proxmox VE Desde Cero: Guía Paso a Paso, y si quieres profundizar en los fundamentos de la virtualización, consulta Proxmox desde Cero: Guía Completa para Iniciarte en la Virtualización con Proxmox VE.
Próximos Pasos
Con Uptime Kuma ya funcionando, aquí tienes algunas sugerencias para sacarle el máximo provecho:
- Añadir Monitores: Rastrea sitios web, servicios API, puertos TCP, ping y más.
- Configurar Notificaciones: Conecta Uptime Kuma con servicios de mensajería como Telegram, Slack o tu email. Si vas por correo, necesitas un servidor que entregue de verdad: te explico cómo montar uno gratis en esta guía de SMTP2GO.
- Explorar Métricas: Consulta los registros históricos y el tiempo de actividad de tus servicios.
- Actualizar Uptime Kuma: Mantente al día con nuevas versiones simplemente eliminando y recreando el contenedor:
docker pull louislam/uptime-kuma:1
docker stop uptime-kuma
docker rm uptime-kuma
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1Y si quieres pasar a la versión 2
Todo lo anterior fija louislam/uptime-kuma:1 a propósito, y por eso actualizar no te va a dar sorpresas. Pero conviene que sepas que existe la versión 2, estable desde octubre de 2025 y hoy por la 2.5.0, y que pasarse no es cambiar un número.
La 2.x trae cambios que rompen. Al arrancar por primera vez sobre tus datos, ejecuta una migración que reorganiza toda la tabla de latidos. En el ejemplo de la propia guía oficial, con 20 monitores y 90 días de historial, tardó unos siete minutos; con más monitores o hardware lento se va a bastante más. Y el aviso importante: si esa migración se interrumpe, no hay vuelta atrás, hay que restaurar del respaldo y volver a empezar.
Así que el orden es este, y el respaldo no es opcional. El propio proyecto lo dice en sus notas de versión con estas palabras: «Backup, backup and backup».
# 1. Parar el contenedor
docker stop uptime-kuma
# 2. Respaldar el volumen ANTES de nada
docker run --rm -v uptime-kuma:/data -v "$PWD":/salida alpine
tar czf /salida/uptime-kuma-respaldo-$(date +%F).tgz /data
# 3. Recrear el contenedor apuntando a la 2
docker rm uptime-kuma
docker run -d --restart=always -p 3001:3001
-v uptime-kuma:/app/data --name uptime-kuma
louislam/uptime-kuma:2
# 4. Mirar el registro y NO tocar nada hasta que termine
docker logs -f uptime-kuma
Dos detalles que se llevan por delante a mucha gente: la 2.x exige Node 20.4 o superior si no usas Docker, y las imágenes rootless no se recomiendan para migrar, porque suelen dar problemas al arrancar. Si estás en una de esas, pasa primero a la imagen normal.
Y si no tienes ninguna prisa, quedarte en la 1 es perfectamente razonable: sigue recibiendo mantenimiento y es lo que instala este tutorial.
Conclusión: Tu Monitor en Minutos

Con solo unos pocos comandos, ahora tienes Uptime Kuma instalado y listo para usar. Ya no tendrás que preocuparte por los tiempos de inactividad de tus servicios. Esta herramienta es fácil de instalar, eficiente y muy personalizable.
¿Tienes dudas o sugerencias? ¡Déjalas en los comentarios y estaré encantado de ayudarte!
Detalle Técnico:
- Puedes cambiar el puerto del servicio modificando
-p 3001:3001al puerto que prefieras.
¡Comparte esta guía con tus colegas y amigos! ¡Juntos podemos mejorar la forma en que monitoreamos nuestros servicios! 🚀
Acceso remoto a Uptime Kuma
Por defecto, Uptime Kuma solo es accesible desde tu red local. Para monitorearlo desde cualquier lugar tienes dos opciones:
- Túnel de Cloudflare (recomendado): expón Uptime Kuma sin abrir puertos en tu router, gratis y seguro
- Nginx Proxy Manager: si prefieres gestionar tu propio reverse proxy con SSL
Siguientes pasos
Con el tiempo, la base de datos de Uptime Kuma puede crecer significativamente. Aprende a controlar la retención de datos y optimizar el rendimiento con nuestra guía dedicada.