DockMon: monitorización moderna para Docker con reinicio automático y alertas multicanal (sin pasar por Kubernetes)

: DockMon existe y tiene muy buena pinta para desarrolladores y equipos de TI que viven en Docker “puro y duro”. Es un proyecto gratuito y open source que aporta monitorización en tiempo real, reinicio inteligente de contenedores, alertas multicanal (Discord, Slack, Telegram, Pushover, Gotify, SMTP) con plantillas personalizables, multi-host desde un único panel y un enfoque de seguridad por diseño (mTLS para hosts remotos, rate-limiting, base Alpine). Todo ello sin montar un clúster de Kubernetes ni una pila completa de Prometheus+Grafana+Alertmanager.

A grandes rasgos, se posiciona como “lo que la mayoría necesita” para operar Docker con observabilidad y reacción: ver métricas, logs, eventos y, sobre todo, actuar (reinicios, despliegues, bulk operations, health checks, ventanas de mantenimiento, actualizaciones de imágenes programadas).


Lo esencial que aporta

  • Multi-host de verdad: inventario de hosts Docker locales y remotos con mTLS opcional para endurecer el canal.
  • Tiempo real: CPU, RAM y red por contenedor, con WebSocket y widgets de tablero arrastrar-y-soltar.
  • Logs en vivo: visor simultáneo de varios contenedores con follow y filtros.
  • Event viewer: traza de auditoría, búsqueda y actualizaciones en vivo.
  • Reinicio inteligente: por contenedor, con lógica de reintentos configurable (evita bucles y escalada).
  • Alertas multicanal: Discord, Slack, Telegram, Pushover, Gotify, SMTP; plantillas y reglas por condiciones (CPU, memoria, caída de health check, restart storm, etc.).
  • Despliegues y bulk ops: run/compose, plantillas reutilizables, inicio/paro/reinicio masivo con barra de progreso.
  • Auto-updates: detección y ejecución programada de actualizaciones de imagen.
  • Health checks HTTP/HTTPS: con auto-restart en fallo.
  • Ventanas de silencio (blackout windows): suprime alertas en mantenimientos.
  • Stack moderno: backend FastAPI (Python 3.13) + servicio Go para métricas, frontend React 18 + TS, reverse proxy Nginx, base Alpine.

Migración v1→v2: conserva hosts, contenedores, histórico y usuarios; hay que recrear reglas de alerta, regenerar certificados mTLS por requisitos de OpenSSL 3.x y se realiza una migración automática de esquema desde v1.1.3 a v2.0.0.


¿Para quién encaja?

  • Equipos sin Kubernetes (por simplicidad, coste o tamaño) que quieren monitorización + reacción sin montar media nube de herramientas.
  • Homelabs y pymes que valoran alertas y auto-remediación básica (reinicio, actualización) sin sacrificar control.
  • DevOps/SRE que necesitan multi-host ligero y rápido de desplegar para entornos edge, CI runners o nodos remotos.

Comparativa rápida con alternativas conocidas

Criterio / HerramientaDockMonPortainer CEDozzleWatchtowerPrometheus+cAdvisor+Alertmanager+Grafana
AlcanceMulti-host, métricas, logs, eventos, accionesGestión UI Docker/K8s, stacks, rolesVisor de logsAuto-update de imágenesMétricas/alertas ricas (stack por piezas)
Métricas en tiempo real (CPU/RAM/red por contenedor)Básicas/limitadasNoNo (muy completo)
Alertas integradas (Discord/Slack/Telegram/SMTP, plantillas)No nativasNoNo (Alertmanager; requiere configuración)
Auto-restart inteligente (reintentos)Política Docker (reinicio simple)NoNoNo (se podría orquestar aparte)
Auto-updates (programados)Parcial (según edición/flows)No (foco principal)No (ajeno al stack; scripts externos)
Deploy compose/run (plantillas y multi-host)NoNoNo (otro tooling)
Multi-host (mTLS opcional) (múltiples endpoints)NoNo (federado; complejidad alta)
Curva de adopciónBaja-mediaBajaMuy bajaMuy bajaAlta (múltiples componentes)

Lectura: DockMon no sustituye a Portainer si buscas administración integral de Docker/K8s, pero cubre observabilidad y reacción con menos piezas que Prometheus+Grafana y más alcance que Dozzle/Watchtower por separado.


Quick start (compose en 5 minutos)

# docker-compose.yml
services:
  dockmon:
    image: ghcr.io/darthnorse/dockmon:latest
    container_name: dockmon
    restart: unless-stopped
    ports:
      - "8080:8080"          # UI
      - "8443:8443"          # API/WS si separas puertos
    environment:
      DOCKMON_ADMIN_USER: "admin"
      DOCKMON_ADMIN_PASS: "cambia_esto"
      DOCKMON_TIMEZONE: "Europe/Madrid"
      # Notificaciones (ejemplos; opcional)
      DOCKMON_SMTP_HOST: "smtp.tu-dominio.com"
      DOCKMON_SMTP_USER: "[email protected]"
      DOCKMON_SMTP_PASS: "secreto"
      DOCKMON_TELEGRAM_TOKEN: "12345:bot_token"
      DOCKMON_TELEGRAM_CHAT: "-100123456789"
    volumes:
      - dockmon-data:/var/lib/dockmon
      - /var/run/docker.sock:/var/run/docker.sock:ro
volumes:
  dockmon-data:
Lenguaje del código: PHP (php)
  1. docker compose up -d
  2. Accede a http://tu-host:8080 con las credenciales.
  3. Añade hosts remotos si procede (ver siguiente).

Monitorizar hosts remotos con mTLS (esquema básico)

  1. Habilitar la API Docker con TLS en el host remoto (ejemplo daemon.json):
{
  "hosts": ["unix:///var/run/docker.sock","tcp://0.0.0.0:2376"],
  "tlscacert": "/etc/docker/tls/ca.pem",
  "tlscert": "/etc/docker/tls/server-cert.pem",
  "tlskey": "/etc/docker/tls/server-key.pem",
  "tlsverify": true
}
Lenguaje del código: JSON / JSON con comentarios (json)
  1. Abrir 2376/tcp en el firewall del remoto para el origen del servidor DockMon.
  2. En DockMon → HostsAdd host, define tcp://IP:2376 y sube los certificados cliente emitidos por tu CA.
  3. Verifica que entran métricas y logs en caliente.

Consejo: si hay nodos en WAN, usa WireGuard o segmenta con mTLS y reglas estrictas (IP allow-list, rate-limit, auditoría).


Crear una regla de alerta típica

  • Condición: contenedor web con CPU > 85 % durante 3 min.
  • Acción: enviar a Telegram + correo y marcar incidente en el visor de eventos.
  • Remediación (opcional): reiniciar si supera 95 % durante 5 min o si falla el health check.

El nuevo motor de reglas en v2 permite plantillas por canal y ventanas de mantenimiento para silenciar durante deploys.


Buenas prácticas (operación diaria)

  • Evita bucles de reinicio: usa retardos y límite de reintentos por contenedor; si se supera, dispara alerta en lugar de seguir reiniciando.
  • Etiquetas y tagging: aprovecha Docker labels para clasificar servicios, entornos y responsables; DockMon deriva etiquetas automáticamente.
  • Auto-updates con cabeza: programa fuera de horario, valida digest y habilita blackout windows para suprimir ruido mientras se actualiza.
  • Seguridad: sesión con tiempo de vida acotado, TLS en la UI si expones fuera, y mTLS para hosts remotos.

Limitaciones y márgenes

  • No es un orquestador: si necesitas auto-escalado, service mesh o despliegues canary, estás en terreno de Kubernetes u otras plataformas.
  • Alertas avanzadas de negocio (SLOs, burn rate) requieren combinar DockMon con tu SIEM/Observability o extender por API.
  • Si buscas observabilidad de bajo nivel (eBPF, tracing, perfiles), apóyate en herramientas especializadas y deja a DockMon la parte operativa (alerta+acción).

FAQ rápida

¿Consume muchos recursos?
Es ligero para lo que ofrece, pero métricas en tiempo real y logs en vivo sobre muchos contenedores y hosts suman. Dimensiona CPU/RAM y red en función de tu parque.

¿Puedo integrarlo con Grafana o un SIEM?
Sí, expone API REST/WS y events; úsalo como fuente de verdad operativa (incidentes, reinicios, health checks) y correlaciona en tu plataforma.

¿Soporta compose y despliegues repetibles?
Sí. Puedes guardar plantillas y lanzar despliegues en hosts remotos desde la UI.

¿Cómo migro de v1 a v2?
La base se migra automáticamente; recrea reglas de alertas, regenera mTLS y verifica conexiones tras el upgrade.


Conclusión

Para la enorme mayoría que no necesita Kubernetes, DockMon coloca en una sola caja lo que suele repartirse entre varias: ver, alertar y actuar sobre contenedores en tiempo real, en uno o varios hosts y con seguridad. No pretende competir con Portainer en administración general ni con Prometheus en observability profunda: complementa esas piezas o las evita cuando lo que se busca es operar Docker con luminosidad y reflejos.

Si tu equipo vive en Docker y quiere menos lío para estar enterado y protegido, merece una prueba.

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio
×