Tests indépendants Mis à jour avril 2026 387 guides d'auto-hébergement 5 fournisseurs VPS testés

guide

Comment auto-héberger Beszel sur un VPS (Guide complet)

Guide étape par étape pour auto-héberger Beszel sur un VPS. Installation Docker, configuration des agents multi-serveurs et première connexion.

Comment auto-héberger Beszel sur un VPS (Guide complet)

Beszel est un tableau de bord de monitoring auto-hébergé qui vous donne une visibilité en temps réel sur le CPU, la RAM, le disque et les métriques réseau de plusieurs serveurs. Il est extrêmement léger (fonctionne avec 512 Mo de RAM), utilise SQLite pour le stockage et peut être déployé en quelques minutes via Docker. Ce guide couvre tout, de la sélection d’un VPS à la surveillance de votre premier serveur distant.

Prérequis

Avant de commencer, vous avez besoin de :

Étape 1 : Se connecter au VPS

ssh root@ip-de-votre-vps

Mettre à jour les paquets :

apt update && apt upgrade -y

Étape 2 : Installer Docker

curl -fsSL https://get.docker.com | sh
systemctl enable --now docker

Vérifier l’installation de Docker :

docker --version

Étape 3 : Ouvrir le port 8090 dans le pare-feu

Avec UFW sur Ubuntu :

ufw allow 8090/tcp
ufw reload

Étape 4 : Déployer le hub Beszel

Option A : Docker Run (démarrage rapide)

docker run -d \
  --name beszel \
  --restart unless-stopped \
  -p 8090:8090 \
  -v beszel_data:/beszel_data \
  henrygd/beszel

Option B : Docker Compose (recommandé)

Créer un répertoire de projet :

mkdir -p /opt/beszel && cd /opt/beszel

Créer docker-compose.yml :

services:
  beszel:
    image: henrygd/beszel:latest
    container_name: beszel
    restart: unless-stopped
    ports:
      - "8090:8090"
    volumes:
      - beszel_data:/beszel_data

volumes:
  beszel_data:

Démarrer le service :

docker compose up -d

Vérifier le statut :

docker compose ps
docker compose logs -f

Option C : Installation par binaire (sans Docker)

Télécharger la dernière version pour votre architecture :

curl -sL https://api.github.com/repos/henrygd/beszel/releases/latest \
  | grep "browser_download_url.*linux_amd64" \
  | cut -d '"' -f 4 \
  | xargs curl -Lo /usr/local/bin/beszel

chmod +x /usr/local/bin/beszel

Créer un service systemd /etc/systemd/system/beszel.service :

[Unit]
Description=Beszel monitoring hub
After=network.target

[Service]
ExecStart=/usr/local/bin/beszel serve
WorkingDirectory=/var/lib/beszel
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Activer et démarrer :

mkdir -p /var/lib/beszel
systemctl daemon-reload
systemctl enable --now beszel

Étape 5 : Première connexion

Ouvrez votre navigateur et naviguez vers :

http://ip-de-votre-vps:8090

Au premier lancement, vous serez invité à créer un compte administrateur. Choisissez un mot de passe fort.

Étape 6 : Ajouter des serveurs à surveiller

Beszel utilise un agent léger installé sur chaque serveur à surveiller.

6.1 Générer une clé agent

Dans le tableau de bord Beszel :

  1. Cliquer sur Ajouter un serveur.
  2. Saisir un nom et le nom d’hôte ou l’IP du serveur.
  3. Copier la Clé agent générée — vous en aurez besoin sur le serveur surveillé.

6.2 Installer l’agent sur le serveur cible

Se connecter en SSH au serveur à surveiller, puis exécuter :

Docker :

docker run -d \
  --name beszel-agent \
  --restart unless-stopped \
  --network host \
  -e KEY="<collez-votre-clé-agent-ici>" \
  henrygd/beszel-agent

Binaire :

curl -sL https://api.github.com/repos/henrygd/beszel/releases/latest \
  | grep "browser_download_url.*beszel-agent.*linux_amd64" \
  | cut -d '"' -f 4 \
  | xargs curl -Lo /usr/local/bin/beszel-agent

chmod +x /usr/local/bin/beszel-agent

Créer /etc/systemd/system/beszel-agent.service :

[Unit]
Description=Beszel monitoring agent
After=network.target

[Service]
ExecStart=/usr/local/bin/beszel-agent
Environment=KEY=<votre-clé-agent>
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Activer et démarrer :

systemctl daemon-reload
systemctl enable --now beszel-agent

En quelques secondes, le serveur devrait apparaître comme Connecté dans le tableau de bord Beszel.

Étape 7 : (Optionnel) Mettre Beszel derrière un reverse proxy

Pour un accès HTTPS, configurer Caddy ou Nginx devant Beszel.

Exemple Caddy (/etc/caddy/Caddyfile) :

monitor.votredomaine.fr {
    reverse_proxy localhost:8090
}

Exemple Nginx :

server {
    listen 443 ssl;
    server_name monitor.votredomaine.fr;
    ssl_certificate /etc/letsencrypt/live/monitor.votredomaine.fr/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/monitor.votredomaine.fr/privkey.pem;

    location / {
        proxy_pass http://localhost:8090;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Dépannage

ProblèmeSolution
Tableau de bord inaccessibleVérifier le pare-feu (ufw status), vérifier que le conteneur tourne (docker ps)
L’agent ne se connecte pasVérifier la variable d’env KEY, consulter les logs de l’agent (docker logs beszel-agent)
Utilisation disque élevéeRéduire l’intervalle de rétention dans les paramètres Beszel
Le conteneur ne démarre pasConsulter les logs : docker compose logs beszel

Questions fréquentes

Comment sauvegarder les données Beszel ?

L’intégralité de l’état de Beszel se trouve dans le volume Docker beszel_data. Créer une sauvegarde de la base de données :

docker exec beszel sqlite3 /beszel_data/beszel.db ".backup /beszel_data/beszel.db.bak"

Puis copier le fichier de sauvegarde hors du serveur avec rsync ou scp.

Puis-je surveiller des serveurs Windows avec Beszel ?

L’agent Beszel supporte Linux, macOS et Windows. Installez le binaire Windows et enregistrez-le comme service Windows.

Beszel nécessite-t-il une connexion internet ?

Non. Beszel est entièrement autonome. Le hub et les agents communiquent uniquement entre eux, sans appels externes. Il fonctionne parfaitement sur un réseau privé ou un VPN.