Beszel Docker Compose: Monitor Ligero con Docker Stats 2026

beszel docker compose - Dashboard de monitorización ligero con estadísticas Docker

Beszel Docker Compose es la solución definitiva para monitorizar servidores y contenedores Docker con un consumo mínimo de recursos. En esta guía completa de Beszel Docker Compose, aprenderás a desplegar esta plataforma de manera profesional, configurar alertas avanzadas, y vigilar tus sistemas críticos 24/7 consumiendo solo 25-35 MiB de RAM, hasta 5 veces menos que alternativas populares como Grafana o Uptime Kuma.

¿Qué es Beszel?

Beszel es una plataforma de monitorización de servidores ligera y moderna que incluye estadísticas Docker, datos históricos y sistema de alertas. A diferencia de soluciones tradicionales que requieren múltiples contenedores y configuraciones complejas, Beszel Docker Compose ofrece todo en una arquitectura simple de hub-agent.

Con más de 19,000 estrellas en GitHub y una comunidad activa en 2026, Beszel se ha convertido en la alternativa preferida para homelabs y entornos de producción que necesitan monitorización sin sacrificar recursos del sistema.

Características principales

  • Ultra ligero: Consume 25-35 MiB de RAM (vs 150 MiB de Uptime Kuma)
  • Monitorización Docker: Estadísticas de CPU, memoria y red por contenedor
  • Datos históricos: Gráficas de rendimiento con retención configurable
  • Sistema de alertas: Notificaciones para CPU, memoria, disco, temperatura y estado
  • Multi-usuario: Gestión de permisos y equipos integrada
  • GPU support: Compatible con Nvidia, AMD e Intel
  • OAuth/OIDC: Autenticación con proveedores externos
  • Backups automáticos: S3 o almacenamiento local

Arquitectura de Beszel Docker Compose

La arquitectura de Beszel Docker Compose se basa en dos componentes principales que trabajan en conjunto para proporcionar monitorización completa:

Hub (Centro de Control)

El Hub es la aplicación web central construida sobre PocketBase que:

  • Recopila métricas de todos los agentes
  • Almacena datos históricos en SQLite
  • Genera dashboards y gráficas en tiempo real
  • Gestiona usuarios, equipos y permisos
  • Procesa y envía alertas configuradas

Agent (Agente de Monitorización)

El agente es un binario ligero que se instala en cada servidor monitorizados y:

  • Recopila métricas del sistema operativo
  • Captura estadísticas de contenedores Docker/Podman
  • Monitoriza discos, red, CPU, memoria y temperatura
  • Envía datos al Hub de forma segura
  • Consume recursos mínimos del sistema

Requisitos Previos para Beszel Docker Compose

Antes de instalar Beszel Docker Compose, asegúrate de cumplir con estos requisitos mínimos:

Software necesario

  • Docker: Versión 20.10 o superior
  • Docker Compose: Versión 2.0 o superior
  • Sistema operativo: Linux, FreeBSD, macOS o Windows

Hardware mínimo

  • CPU: 1 núcleo (suficiente para hub + agent)
  • RAM: 512 MB (hub: 200 MB, agent: 25-35 MB)
  • Disco: 500 MB para datos históricos
  • Red: Conectividad entre hub y agents

Estos requisitos hacen que Beszel Docker Compose sea ideal incluso para Raspberry Pi y VPS de bajo costo.

Instalar Beszel Docker Compose Paso a Paso

La instalación de Beszel Docker Compose se divide en dos fases: desplegar el Hub central y configurar los agentes en cada servidor.

Paso 1: Desplegar el Hub de Beszel

Crea un directorio para el proyecto y el archivo docker-compose.yml del Hub:

mkdir -p ~/beszel
cd ~/beszel

cat << 'EOF' > docker-compose.yml
version: '3.8'

services:
  beszel:
    image: henrygd/beszel:latest
    container_name: beszel-hub
    restart: unless-stopped
    ports:
      - "8090:8090"
    volumes:
      - ./beszel_data:/beszel_data
    environment:
      # Opcional: configurar zona horaria
      - TZ=Europe/Madrid
EOF

Inicia el Hub:

docker compose up -d

Accede a la interfaz web en http://tu-servidor:8090 y crea tu cuenta de administrador.

Paso 2: Configurar Agente en el Mismo Servidor

Para monitorizar el mismo servidor donde corre el Hub, añade el servicio del agente al docker-compose.yml:

cat << 'EOF' >> docker-compose.yml

  beszel-agent:
    image: henrygd/beszel-agent:latest
    container_name: beszel-agent
    restart: unless-stopped
    network_mode: host
    volumes:
      - ./beszel_agent_data:/var/lib/beszel-agent
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      LISTEN: "45876"
      KEY: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIExamplePublicKey"
      HUB_URL: "http://localhost:8090"
      TOKEN: "your-universal-token-here"
EOF

Importante: Desde el Hub web, ve a Settings → Add System para obtener tu KEY y TOKEN únicos.

Paso 3: Configurar Agente en Servidor Remoto

Para monitorizar servidores adicionales con Beszel Docker Compose, crea un docker-compose.yml en cada servidor remoto:

# En el servidor remoto
mkdir -p ~/beszel-agent
cd ~/beszel-agent

cat << 'EOF' > docker-compose.yml
version: '3.8'

services:
  beszel-agent:
    image: henrygd/beszel-agent:latest
    container_name: beszel-agent
    restart: unless-stopped
    network_mode: host
    volumes:
      - ./agent_data:/var/lib/beszel-agent
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      LISTEN: "45876"
      KEY: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIExamplePublicKey"
      HUB_URL: "http://IP-DEL-HUB:8090"
      TOKEN: "your-universal-token-here"
EOF

docker compose up -d

El agente aparecerá automáticamente en el dashboard del Hub tras unos segundos.

Configurar Beszel Docker Compose con Reverse Proxy

Para exponer Beszel Docker Compose de forma segura con SSL, integra Caddy o Nginx Proxy Manager.

Integración con Caddy

Modifica tu docker-compose.yml para incluir Caddy:

version: '3.8'

services:
  beszel:
    image: henrygd/beszel:latest
    container_name: beszel-hub
    restart: unless-stopped
    expose:
      - "8090"
    volumes:
      - ./beszel_data:/beszel_data
    networks:
      - beszel-net

  caddy:
    image: caddy:2-alpine
    container_name: beszel-caddy
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - caddy_data:/data
      - caddy_config:/config
    networks:
      - beszel-net

networks:
  beszel-net:
    driver: bridge

volumes:
  caddy_data:
  caddy_config:

Crea el Caddyfile:

cat << 'EOF' > Caddyfile
beszel.tudominio.com {
    reverse_proxy beszel:8090
}
EOF

Caddy gestionará automáticamente los certificados SSL de Let’s Encrypt para tu instalación de Beszel Docker Compose.

Gestión Avanzada con Beszel Docker Compose

Configurar Alertas Personalizadas

Desde el Hub web, configura alertas para recibir notificaciones cuando se superen umbrales:

  • Ve a Settings → Alerts
  • Configura webhooks (Discord, Slack, Telegram, Gotify)
  • Define umbrales por sistema: CPU >80%, RAM >90%, Disco >85%
  • Establece períodos de cooldown para evitar spam

Monitorización de GPU

Beszel soporta monitorización de GPU Nvidia, AMD e Intel. Para habilitar soporte Nvidia en tu stack de Beszel Docker Compose, modifica el agente:

services:
  beszel-agent:
    image: henrygd/beszel-agent:latest
    # ...
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    environment:
      NVIDIA_VISIBLE_DEVICES: all

Backups Automáticos

Configura backups a S3 desde el Hub web:

  • Ve a Settings → Backups
  • Configura endpoint S3 (AWS, Backblaze, MinIO)
  • Define frecuencia (diaria, semanal)
  • Establece retención de backups

Optimización y Best Practices

Seguridad

  • Deshabilita autenticación por contraseña: Usa OAuth exclusivamente en producción
  • Tokens únicos: Genera un token diferente por servidor
  • Firewall: Restringe puerto 45876 del agente a IPs del Hub
  • Docker socket read-only: Monta siempre /var/run/docker.sock:ro
  • HTTPS obligatorio: Nunca expongas el Hub sin SSL en producción

Rendimiento

  • Ajusta retención de datos: Reduce históricos si el Hub se ralentiza
  • Limita contenedores monitorizados: Excluye contenedores temporales con labels
  • Usa Unix socket: Para agente local, usa socket en lugar de localhost
  • Recursos del Hub: Asigna 512 MB RAM mínimo para >50 sistemas

Mantenimiento

Script para actualizar automáticamente Beszel Docker Compose:

#!/bin/bash
cd ~/beszel
docker compose pull
docker compose up -d --force-recreate
docker image prune -f

Programa este script semanalmente con cron para mantener Beszel actualizado.

Troubleshooting Beszel Docker Compose

Agente no aparece en el Hub

Síntoma: El agente está corriendo pero no envía datos al Hub.

Solución:

# Verifica logs del agente
docker logs beszel-agent

# Verifica conectividad al Hub
docker exec beszel-agent curl -v http://IP-HUB:8090

# Valida KEY y TOKEN correctos
docker exec beszel-agent env | grep -E '(KEY|TOKEN)'

Estadísticas Docker no aparecen

Síntoma: Métricas del sistema funcionan pero contenedores no se muestran.

Solución: Verifica que el socket Docker esté montado correctamente:

docker exec beszel-agent ls -l /var/run/docker.sock

# Debe mostrar: srw-rw---- 1 root docker

Error «Permission denied» en Docker socket

Síntoma: Got permission denied while trying to connect to the Docker daemon socket

Solución: Añade el usuario del contenedor al grupo docker del host:

# Opción 1: Cambiar permisos del socket (no recomendado)
sudo chmod 666 /var/run/docker.sock

# Opción 2: Ejecutar agente con usuario root (en environment)
user: "0:0"

Alto consumo de CPU del Hub

Síntoma: El Hub consume >20% CPU constantemente.

Solución: Reduce la frecuencia de actualización o limita históricos:

  • Ve a Settings → Systems
  • Aumenta intervalo de actualización de 5s a 15s
  • Reduce retención de datos históricos

Comparación: Beszel vs Uptime Kuma vs Grafana

¿Cuándo usar cada herramienta?

CaracterísticaBeszelUptime KumaGrafana
Consumo RAM25-35 MiB150 MiB400+ MiB
Estadísticas Docker✅ Nativo❌ No✅ Con Prometheus
Recursos sistema✅ Sí❌ No✅ Sí
Monitoreo uptime✅ Básico✅ Avanzado✅ Con exporters
ConfiguraciónSimpleSimpleCompleja
Multi-servidor✅ Hub-agent❌ Instancias separadas✅ Con agentes

Recomendación: Usa Beszel Docker Compose para monitorización de recursos y Docker stats, y complementa con Uptime Kuma para checks de disponibilidad HTTP/TCP externos.

Conclusión

Beszel Docker Compose representa un equilibrio perfecto entre funcionalidad y eficiencia de recursos. Con solo 25 MiB de RAM, obtienes monitorización completa de sistemas, contenedores Docker, alertas configurables y dashboards históricos que competirían con soluciones empresariales.

Su arquitectura hub-agent facilita escalar desde un único servidor hasta cientos de sistemas distribuidos, mientras que su integración nativa con Docker elimina configuraciones complejas de exporters y colectores.

Si buscas una alternativa ligera a Grafana+Prometheus o necesitas complementar Uptime Kuma con métricas de recursos, Beszel Docker Compose es la elección correcta para tu homelab o infraestructura de producción.

FAQ sobre Beszel Docker Compose

¿Cuántos recursos necesita Beszel Docker Compose?

El Hub consume aproximadamente 200 MiB de RAM y cada agente solo 25-35 MiB. Puedes ejecutar Beszel Docker Compose en un Raspberry Pi o VPS con 512 MB de RAM sin problemas. Es ideal para entornos con recursos limitados.

¿Puedo usar Beszel Docker Compose en producción?

Sí, Beszel Docker Compose es estable para producción siempre que configures autenticación OAuth, SSL con reverse proxy, y backups automáticos. Muchas empresas lo usan para monitorizar flotas de servidores por su bajo overhead.

¿Cómo actualizo Beszel Docker Compose?

Ejecuta docker compose pull && docker compose up -d --force-recreate en el directorio del Hub y en cada servidor con agente. Los datos históricos se preservan automáticamente en los volúmenes.

¿Beszel soporta Podman?

Sí, Beszel es compatible con Podman. Monta el socket de Podman en /var/run/podman/podman.sock en lugar del socket de Docker. Las estadísticas de contenedores funcionan idénticamente con Beszel Docker Compose.

¿Qué diferencia hay entre Beszel y Netdata?

Netdata ofrece más métricas detalladas pero consume significativamente más recursos (200+ MiB por agente). Beszel Docker Compose es más minimalista y centralizado con su arquitectura hub-agent, ideal para gestionar múltiples servidores desde un único dashboard.

Recursos Adicionales

Avatar

Por Mid

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x