Cómo instalar Checkmate en Docker - Monitorización de infraestructura open-source en Docker

Checkmate | Self-Hosted Monitoring | Docker

Checkmate: Monitorización de infraestructura en tiempo real vía Docker

Herramienta open-source auto-hospedada para monitorear hardware de servidores, uptime, tiempos de respuesta e incidentes en tiempo real con visualizaciones elegantes.

¿Qué es Checkmate?


Checkmate es una plataforma de monitorización de infraestructura open-source y self-hosted. Diseñada para rastrear uptime de servidores, tiempos de respuesta, métricas de hardware e incidentes en tiempo real, ofrece visualizaciones hermosas y notificaciones multi-canal sin depender de servicios de terceros.

En Docker: Checkmate se despliega en contenedores Docker con un simple docker-compose. Arquitectura moderna con frontend React, backend Node.js, MongoDB y Redis. Testea do con 1000+ monitores activos sin problemas de rendimiento. Huella de memoria sorprendentemente pequeña.

Ventaja principal: Checkmate tiene una huella de memoria excepcionalmente pequeña. El servidor Node.js monitoreando 323 servidores consume menos de lo esperado, y Mongo DB requiere poco más de 400MB para esa carga. Perfecto para homelabs y producción.

Características principales

Monitorización de uptime

HTTP/HTTPS, Ping, SSL, puertos y servidores de juegos. Checks cada minuto.

PageSpeed

Monitoriza velocidad de página con integración Google PageSpeed Insights.

Monitor Docker

Monitorea contenedores Docker conectando el socket del daemon.

Infraestructura (Capture)

CPU, RAM, disco, temperatura e I/O de red vía agente Capture.

Páginas de estado

4 temas visuales para páginas de estado públicas personalizables.

Notificaciones multi-canal

Email, Discord, Slack, PagerDuty, Matrix, Teams, Telegram, SMS, Webhooks.

Incidentes automáticos

Creación y resolución automática de incidentes basada en umbrales configurables.

JSON query monitoring

Monitoriza endpoints API extrayendo y validando valores específicos de JSON.

Multi-lenguaje

Soporta 16 idiomas: español, inglés, chino, árabe, alemán, francés, y más.

Programación mantenimiento

Horarios de mantenimiento planificados para evitar alertas falsas durante updates.

Self-hosted completo

Datos propios, código abierto AGPL-3.0. Sin dependencias de SaaS externas.

Alta performance

Testeado con 1000+ monitores activos sin cuello de botella de rendimiento.

Requisitos del sistema

  • Docker e imagen Docker disponible
  • 512 MB de RAM mínimo (checkmate solo), 1+ GB recomendado con MongoDB/Redis
  • 5+ GB de disco para persistencia de MongoDB
  • Puerto 52345 disponible (por defecto)
  • Git para clonar el repositorio (recomendado)
  • Docker Compose Versión v2+ recomendada
Nota sobre Docker: Para monitorear contenedores Docker, monta el socket docker.sock en read-only. Checkmate usa MongoDB y Redis internamente, por lo que Docker es la fo rma más sencilla de desplegarlo.

Instalación rápida con Docker Compose

Paso 1: Clonar y configurar (Combined, recomendado)

git clone https://github.com/bluewave-labs/checkmate.git cd checkmate/docker/dist-mono/

Paso 2: Iniciar los servicios

docker compose up -d

Paso 3: Acceder a Checkmate

Abre en tu navegador: http://localhost:52345

Regístrate y crea tu primera cuenta de administrador.

Tip: El modo combined apila frontend, backend y base de datos en un solo docker-compose sencillo. Es la opción más rápida para empezar.

Configuración avanzada

Despliegue en servidor remoto

Edita las variables de entorno en docker-compose.yml:

services: checkmate: image: bluewave-labs/checkmate:latest environment: - UPTIME_APP_API_BASE_URL=http://192.168.1.10:52345/api/v1 - UPTIME_APP_CLIENT_HOST=http://192.168.1.10 - CLIENT_HOST=http://192.168.1.10

Opción: Desplegar con frontend/backend separados

Usa el compose en docker/dist/ para separar frontend y backend:

git clone https://github.com/bluewave-labs/checkmate.git cd checkmate/docker/dist/ docker compose up -d

Despliegue en ARM / Raspberry Pi

git clone https://github.com/bluewave-labs/checkmate.git cd checkmate/docker/dist-arm/ docker compose up -d

Monitorización de contenedores Docker

Añade este volumen al compose para monitorear Docker:

volumes: - /var/run/docker.sock:/var/run/docker.sock:ro

Agente Capture para infraestructura

Para métricas de hardware (CPU, RAM, disco), instala el agente Capture en cada servidor a monitorear:

git clone https://github.com/bluewave-labs/capture.git cd capture # Sigue las instrucciones del README para conectar con tu instancia Checkmate
Importante: Capture no es obligatorio. Sin él, puedes monitorizar uptime, puertos, SSL, PageSpeed y Docker. Capture añade métricas de hardware del servidor.

Primeros pasos

1. Crear tu primer monitor HTTP

  1. Ve a Uptime en el sidebar
  2. Haz clic en Create monitor
  3. Selecciona HTTP/HTTPS
  4. Introduce la URL a monitorear
  5. Configura el intervalo de checks (1-5 min recomendado)
  6. Haz clic en Create monitor

2. Verificar el monitor

  1. Haz clic en el monitor para abrir detalles
  2. Verifica que el estado muestra Up (verde)
  3. Revisa el tiempo de respuesta en el panel de métricas

3. Configurar notificaciones

  1. Ve a Notifications en el sidebar
  2. Haz clic en Create notification
  3. Elige canal: Email, Discord, Slack, Telegram, PagerDuty, Matrix, Teams, SMS o Webhook
  4. Configura credenciales del canal
  5. Haz clic en Test para verificar

Ciclo de vida de un monitor

  1. El monitor ejecuta un check (HTTP / ping / puerto / hardware vía Capture)
  2. El resultado se almacena (éxito/fallo + tiempo de respuesta)
  3. Los resultados recientes se evalúan contra el umbral de cambio de estado configurado
  4. Si se cumple el umbral, el estado cambia (initializing, up, down, breached)
  5. Al cambiar de estado: se crea o resuelve un incidente
  6. Las notificaciones se disparan según la configuración
Tip: La configuración del umbral permite evitar alertas falsas por fluctuaciones momentáneas. Ajusta el nmero de checks consecutivos fallidos antes de declarar un monit or como "down".

Gestión y mantenimiento

Ver logs

docker compose logs -f

Reiniciar

docker compose restart

Detener

docker compose down

Actualizar a la última versión

docker compose pull # Si usas docker compose v2 docker compose up -d

Backup de MongoDB

docker exec -it uptime_database_mongo mongodump --db uptime_db --out /backup

Restaurar MongoDB

docker exec -it uptime_database_mongo mongorestore --db uptime_db /backup/uptime_db
Montaje de datos: Siempre monta un volumen para MongoDB para retener datos durante upgrades. Realiza backups antes de migrar versiones.

Casos de uso

  • Homelab: Monitoriza tus servicios self-hosted (Plex, Nextcloud, Home Assistant)
  • Desarrollo: Vigila APIs, staging environments y webhooks
  • Pequeñas empresas: Sustituye soluciones SaaS costosas con control total
  • DevOps: Integra con PagerDuty/Slack para alertas críticas
  • Fabricación distribuida: Monitoriza servidores en múltiples ubicaciones via Capture
  • Educación: Enseña monitorización de infraestructura sin costos

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.