Para más información: Beszel
Si nos atenemos a su propia descripción: Beszel es una plataforma ligera de supervisión de servidores que incluye estadísticas de Docker, datos históricos y funciones de alerta.
Cuenta con una interfaz web intuitiva, una configuración sencilla y está lista para usar desde el primer momento. Admite copias de seguridad automáticas, múltiples usuarios, autenticación OAuth y acceso a API.

La verdad es que da información muy detallada sobre los sistemas monitorizados (ya sea local o de servidores remotos) y te puede avisar cuando se sobrepasan ciertos umbrales.
Para hacer el despliegue necesitas la parte servidor y agente en el sistema principal y solo el agente en los sistemas remotos. Por tanto, instalamos la parte servidora con el agente en docker-compose.yml o en el gestor de turno (Arcane o Portainer):
---
services:
beszel:
image: henrygd/beszel:latest
container_name: beszel
restart: unless-stopped
ports:
- 8090:8090
volumes:
- ./beszel_data:/beszel_data
- ./beszel_socket:/beszel_socket
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
- ./beszel_socket:/beszel_socket
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
LISTEN: /beszel_socket/beszel.sock
HUB_URL: http://192.168.1.10:8090
TOKEN: <token>
KEY: "<key>"
Si te fijas, la variable TOKEN y KEY todavía no están definidas porque hemos de dar de alta nuestro propio servidor. Los pasos a seguir serían los siguientes:
http://192.168.1.10:8090.TOKENy el KEY, habría que reiniciar los contenedores para que tome los nuevos cambios.Puedes añadir un equipo remoto haciendo clic en Add System (o Agregar sistema) y te devolverá los datos que necesitarás para las variables KEY y TOKEN.
Por tanto, en equipos remotos, solo hemos de ejecutar el agente en un docker-compose.yml o en el gestor de turno (Arcane o Portainer).
---
services:
beszel-agent:
image: henrygd/beszel-agent
container_name: beszel-agent
restart: unless-stopped
network_mode: host
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./beszel_agent:/var/lib/beszel-agent
# monitor other disks / partitions by mounting a folder in /extra-filesystems
# - /mnt/disk/.beszel:/extra-filesystems/sda1:ro
environment:
LISTEN: 45876
KEY: <KEY>
TOKEN: <TOKEN>
HUB_URL: http://192.168.1.10:8090
En este caso, lo que has de mantener es el puerto donde escucha (LISTEN) y la URL donde está el servidor (HUB_URL), que en este caso sería http://192.168.1.10:8090.
De cualquier manera, el docker-compose.yml te lo genera el propio Beszel.