Beszel

Link to App

Link to GitHub or Website

Beszel is a lightweight server monitoring platform that includes Docker statistics, historical data, and alert functions.

It has a friendly web interface, simple configuration, and is ready to use out of the box. It supports automatic backup, multi-user, OAuth authentication, and API access.

Web UI / Server

https://github.com/trentnbauer/agg/blob/main/docker-compose/beszel.yml
version: '3.8'
services:
  app:
    image: ghcr.io/henrygd/beszel/beszel:0.11.1@sha256:b060dd22f29958d1075def8c1c710a5ec208911aebe3b85b21dde361de8b8b14
    restart: unless-stopped
    networks:
      - cloudflare-net
    ports:
      - ${PORT:-8090}:8090
    volumes:
      - data:/beszel_data
      - ./beszel_socket:/beszel_socket
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
    environment:
      #- BESZEL_HUB_DISABLE_PASSWORD_AUTH=true
      - BESZEL_HUB_USER_CREATION=true
    healthcheck:
      test: ['CMD', '/beszel', 'health', '--url', 'http://localhost:8090']
      start_period: 30s
      interval: 120s
    labels:
      - autoheal=true
      - dockflare.enable=${CFTUNNEL:-true}
      - dockflare.0.hostname=${CFSUBDOMAIN}${CFDOMAIN}
      - dockflare.0.service=http://${HOSTNAME}:${PORT:-8090}
      - dockflare.0.access.policy=${CFPOLICY:-default_tld}
      - dockflare.0.zonename=${CFDOMAIN}
      - dockflare.0.path=${CFURLPATH:-}
volumes:
  data:

networks:
  cloudflare-net:
    name: cloudflare-net
    external: true

Agent

This agent is deployed to all hosts via the 'all' Portainer Stack

Agent with GPU monitoring (Nvidia)

https://github.com/trentnbauer/agg/blob/main/docker-compose/beszel-agent-gpu.yml
services:
  app:
    image: ghcr.io/arunoruto/beszel-agent:v0.11.1@sha256:f1d36b3c0bd5cac73432ce1b31ebf0c3fc4baa8caa94a5025fa0e4d24c97a943
    restart: unless-stopped
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities:
                - utility
    network_mode: host
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      LOG_LEVEL: info
      PORT: ${PORT:-45876}
      GPU: true
      KEY: $BESZELKEY
    healthcheck:
      test: ['CMD', '/agent', 'health'] # Run the health command
      start_period: 5s # Check 5 seconds after the container starts
      interval: 120s # Then check every 120 seconds after that
    labels:
      - autoheal=true

Last updated

Was this helpful?