--- title: Beszel created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, monitoring, server, lightweight, hub, go, beginner, auto-hebergement] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Monitoring, https://github.com/henrygd/beszel] --- # 📊 Beszel > **Le hub de monitoring serveur ultra-léger** : CPU, RAM, disque, réseau + containers Docker, avec une UI web moderne. Alternative minimaliste à Netdata et Glances. ## 📋 Informations Générales | Champ | Valeur | | :--- | :--- | | **Site web** | [beszel.dev](https://beszel.dev/) | | **GitHub** | [henrygd/beszel](https://github.com/henrygd/beszel) | | **License** | MIT | | **Langage** | Go | | **Étoiles GitHub** | 22.5k ⭐ | | **Dernière MAJ** | 2026-06-07 | | **Catégorie** | [[cat-monitoring|Monitoring]], Server Management | ## 📝 Description **Beszel** est un **hub de monitoring serveur** moderne, écrit en **Go** (binaire unique, très léger), avec une **UI web épurée**. C'est une alternative récente et rafraîchissante à [[app-netdata]] et [[app-glances]] pour ceux qui veulent **moins de bruit visuel** et plus de simplicité. Architecture client/serveur : - **Hub** (le serveur central) : agrège les données de tous les agents - **Agent** (à installer sur chaque machine à surveiller) : envoie les métriques au hub Fonctionnalités principales : - ✅ **Métriques système** : CPU, RAM, swap, disque, réseau - ✅ **Containers Docker** : CPU/RAM/IO par container - ✅ **Historique** : graphiques temporels, rétention configurable - ✅ **Multi-utilisateurs** : auth intégrée (PocketBase) - ✅ **Notifications** : email, webhooks (Discord, Slack, Ntfy, etc.) - ✅ **Public sharing** : partager des graphs publiquement - ✅ **Alertes** sur seuils (CPU > 90%, RAM > 80%, disk > 90%, etc.) - ✅ **Backup/restore** intégré - ✅ **API** pour intégrations - ✅ **Léger** : ~30 Mo de RAM pour le hub, agent ~10 Mo **Public cible** : **homelabers, petites équipes, dev solo**. Idéal pour 1-50 serveurs. Pour de l'hyperscale, passer à [[app-prometheus]] + [[app-grafana]]. **Comparaison** : Beszel se distingue de [[app-netdata]] (UI très dense, panneaux partout) en proposant une **UI zen et focalisée**. Il est plus **moderne** que [[app-glances]] (qui existe depuis 10 ans) avec une **vraie UI web responsive** au lieu d'une CLI + petit UI. Par contre, il est **moins riche** en métriques (pas de sensors, GPU, SMART, etc.) que Netdata. ## 🚀 Installation ### Option 1 : Docker Compose (hub + agent sur même machine) ```yaml # docker-compose.yml version: '3.8' services: beszel-hub: image: henrygd/beszel:latest container_name: beszel-hub restart: unless-stopped ports: - "8090:8090" # Web UI volumes: - beszel-data:/beszel_data labels: - "traefik.enable=true" - "traefik.http.routers.beszel.rule=Host(`beszel.example.com`)" - "traefik.http.routers.beszel.entrypoints=websecure" - "traefik.http.routers.beszel.tls.certresolver=letsencrypt" beszel-agent: image: henrygd/beszel-agent:latest container_name: beszel-agent restart: unless-stopped environment: PORT: 45876 KEY: "votre-cle-publique-ici" # Générée dans le hub volumes: - /var/run/docker.sock:/var/run/docker.sock:ro depends_on: - beszel-hub volumes: beszel-data: ``` ### Option 2 : Binaire natif (agent, sur chaque serveur à monitorer) ```bash # Linux/macOS curl -sL https://raw.githubusercontent.com/henrygd/beszel/main/supplemental/scripts/install-agent.sh -o install-agent.sh chmod +x install-agent.sh ./install-agent.sh ``` ### Option 3 : Docker agent (sur d'autres machines) ```yaml services: beszel-agent-remote: image: henrygd/beszel-agent:latest restart: unless-stopped network_mode: host environment: PORT: 45876 KEY: "votre-cle-publique" HUB_URL: http://hub.example.com:8090 volumes: - /var/run/docker.sock:/var/run/docker.sock:ro ``` ## ⚙️ Configuration Initiale 1. **Accéder au hub** : `http://IP:8090` 2. **Créer le compte admin** au premier lancement 3. **Ajouter un système** : copier la **clé publique** générée par le hub 4. **Installer l'agent** sur la machine cible avec cette clé 5. **Vérifier la connexion** : l'agent apparaît dans le hub en quelques secondes 6. **Configurer les alertes** : Settings > Notifications + Alert Rules ## 🔄 Alternatives ### Open Source - [[app-netdata]] — Plus dense en métriques, UI chargée - [[app-glances]] — CLI first, web minimaliste - [[app-uptime-kuma]] — Monitoring d'uptime (pas système) - **Prometheus + node_exporter + Grafana** — Stack pro, plus complexe - **Scrutiny** — Pour les disques SMART uniquement ### Comparaison Beszel vs alternatives | Critère | Beszel | Netdata | Glances | Prometheus+Node | | :--- | :--- | :--- | :--- | :--- | | Self-hosted | ✅ | ✅ | ✅ | ✅ | | UI web moderne | ✅ | ✅ (dense) | Basique | ❌ (Grafana requis) | | RAM consommée | ~30 Mo | ~200 Mo | ~30 Mo | ~500 Mo+ | | Containers Docker | ✅ | ✅ | ✅ | ✅ | | Alertes | ✅ | ✅ | ✅ | ✅ | | Setup | 5 min | 10 min | 5 min | 1 h | | Métriques profondes | Basique | Très riche | Moyen | Illimité | **Verdict** : Beszel est **le meilleur choix pour homelab/petite équipe**. Pour plus de 20 serveurs ou des besoins avancés, passer à Prometheus + Grafana. ### Propriétaires (ce que Beszel remplace) - **Datadog Infrastructure** (à partir de $15/host/mois) - **New Relic Infrastructure** (payant) - **Pingdom Server Monitor** (payant) - **Nagios XI** (payant, très cher) ## 🔐 Sécurité - **Auth intégrée** : email/password (PocketBase, hashé bcrypt) - **HTTPS** via [[app-traefik]] recommandé - **Clé publique** agent → hub : utiliser des clés fortes, rotation possible - **Pas d'exposition de l'agent** : l'agent **initie** la connexion (outbound), pas besoin d'ouvrir de port entrant ## 📚 Ressources - [GitHub henrygd/beszel](https://github.com/henrygd/beszel) - [Site officiel](https://beszel.dev/) - [Documentation](https://beszel.dev/guide) - [Démo publique](https://beszel.dev/demo) ## Pages Liées - [[cat-monitoring]] — Catégorie Monitoring - [[app-netdata]] — Métriques système riche - [[app-glances]] — Monitoring CLI/web - [[app-traefik]] — Reverse proxy HTTPS - [[observabilite]] — Vue d'ensemble observabilité - [[checklist-monitoring-minimal]] — Checklist