Wie man Beszel auf einem VPS selbst hostet (Komplette Anleitung)
Beszel ist ein selbst gehostetes Server-Monitoring-Dashboard, das Ihnen Echtzeit-Einblicke in CPU, RAM, Festplatten- und Netzwerkmetriken über mehrere Server gibt. Es ist extrem leichtgewichtig (läuft auf 512 MB RAM), verwendet SQLite als Datenbank und kann in Minuten per Docker bereitgestellt werden. Diese Anleitung deckt alles ab — von der VPS-Auswahl bis zur Überwachung des ersten Remote-Servers.
Voraussetzungen
Vor dem Start benötigen Sie:
- Einen VPS — 1 GB RAM, 1 vCPU, 10 GB Speicher minimum. Empfohlene Anbieter:
- Hetzner Cloud — 4,15 EUR/Mo., 4 GB RAM, 40 GB NVMe (bestes EU-Preis-Leistungs-Verhältnis)
- Contabo VPS — 5,99 EUR/Mo., 8 GB RAM, 200 GB NVMe (bester Speicher)
- DigitalOcean — 6 USD/Mo., 1 GB RAM (einsteigerfreundlich)
- Ubuntu 22.04 oder Debian 12 auf dem VPS installiert.
- SSH-Zugang zum VPS.
- Docker (oder direkte Installation des Beszel-Binaries).
- Port 8090 in Ihrer Firewall geöffnet.
Schritt 1: Mit dem VPS verbinden
ssh root@ihre-vps-ip
Pakete aktualisieren:
apt update && apt upgrade -y
Schritt 2: Docker installieren
curl -fsSL https://get.docker.com | sh
systemctl enable --now docker
Docker-Installation überprüfen:
docker --version
Schritt 3: Firewall-Port 8090 öffnen
Unter Ubuntu mit UFW:
ufw allow 8090/tcp
ufw reload
Schritt 4: Beszel Hub deployen
Option A: Docker Run (Schnellstart)
docker run -d \
--name beszel \
--restart unless-stopped \
-p 8090:8090 \
-v beszel_data:/beszel_data \
henrygd/beszel
Option B: Docker Compose (Empfohlen)
Projektverzeichnis erstellen:
mkdir -p /opt/beszel && cd /opt/beszel
docker-compose.yml erstellen:
services:
beszel:
image: henrygd/beszel:latest
container_name: beszel
restart: unless-stopped
ports:
- "8090:8090"
volumes:
- beszel_data:/beszel_data
volumes:
beszel_data:
Dienst starten:
docker compose up -d
Status prüfen:
docker compose ps
docker compose logs -f
Option C: Binary-Installation (Ohne Docker)
Aktuelle Version für Ihre Architektur herunterladen:
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
Systemd-Dienst unter /etc/systemd/system/beszel.service erstellen:
[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
Aktivieren und starten:
mkdir -p /var/lib/beszel
systemctl daemon-reload
systemctl enable --now beszel
Schritt 5: Erster Login
Öffnen Sie Ihren Browser und navigieren Sie zu:
http://ihre-vps-ip:8090
Beim ersten Start werden Sie aufgefordert, ein Admin-Konto zu erstellen. Verwenden Sie ein sicheres Passwort.
Schritt 6: Server zur Überwachung hinzufügen
Beszel verwendet einen leichtgewichtigen Agent, der auf jedem zu überwachenden Server installiert wird.
6.1 Agent-Schlüssel generieren
Im Beszel-Dashboard:
- Auf Server hinzufügen klicken.
- Namen und Hostname oder IP des Servers eingeben.
- Den generierten Agent-Schlüssel kopieren — er wird auf dem überwachten Server benötigt.
6.2 Agent auf dem Zielserver installieren
Per SSH auf den zu überwachenden Server einloggen, dann ausführen:
Docker:
docker run -d \
--name beszel-agent \
--restart unless-stopped \
--network host \
-e KEY="<ihren-agent-schlüssel-hier-einfügen>" \
henrygd/beszel-agent
Binary:
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
/etc/systemd/system/beszel-agent.service erstellen:
[Unit]
Description=Beszel monitoring agent
After=network.target
[Service]
ExecStart=/usr/local/bin/beszel-agent
Environment=KEY=<ihr-agent-schlüssel>
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Aktivieren und starten:
systemctl daemon-reload
systemctl enable --now beszel-agent
Nach wenigen Sekunden sollte der Server im Beszel-Dashboard als Verbunden angezeigt werden.
Schritt 7: (Optional) Beszel hinter Reverse Proxy betreiben
Für HTTPS-Zugang Caddy oder Nginx vor Beszel konfigurieren.
Caddy-Beispiel (/etc/caddy/Caddyfile):
monitor.ihredomain.de {
reverse_proxy localhost:8090
}
Nginx-Beispiel:
server {
listen 443 ssl;
server_name monitor.ihredomain.de;
ssl_certificate /etc/letsencrypt/live/monitor.ihredomain.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/monitor.ihredomain.de/privkey.pem;
location / {
proxy_pass http://localhost:8090;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Fehlerbehebung
| Problem | Lösung |
|---|---|
| Dashboard nicht erreichbar | Firewall prüfen (ufw status), Container-Status prüfen (docker ps) |
| Agent verbindet sich nicht | KEY-Umgebungsvariable prüfen, Agent-Logs prüfen (docker logs beszel-agent) |
| Hoher Speicherverbrauch | Metrik-Aufbewahrungsintervall in den Beszel-Einstellungen reduzieren |
| Container startet nicht | Logs prüfen: docker compose logs beszel |
Häufig gestellte Fragen
Wie sichere ich Beszel-Daten?
Der gesamte Beszel-Zustand liegt im Docker-Volume beszel_data. Datenbank-Backup erstellen:
docker exec beszel sqlite3 /beszel_data/beszel.db ".backup /beszel_data/beszel.db.bak"
Dann die Backup-Datei mit rsync oder scp vom Server kopieren.
Kann ich Windows-Server mit Beszel überwachen?
Der Beszel-Agent unterstützt Linux, macOS und Windows. Installieren Sie das Windows-Binary und registrieren Sie es als Windows-Dienst.
Benötigt Beszel eine Internetverbindung?
Nein. Beszel ist vollständig eigenständig. Hub und Agents kommunizieren nur miteinander, ohne externe Aufrufe. Es funktioniert vollständig in einem privaten Netzwerk oder VPN.