Einleitung
Nachdem wir im ersten Teil unserer Serie die Grundlagen von Beszel kennengelernt haben, geht es nun an die praktische Installation. Dank der schlanken Architektur lässt sich Beszel innerhalb weniger Minuten auf einem Debian-13-Server bereitstellen. Die Software wird über Docker betrieben und benötigt nur wenige Komponenten.
In diesem Beitrag installieren wir den Beszel-Hub, richten den ersten Benutzer ein, passen die Firewall an und stellen die Weboberfläche über HTTPS mit einem Reverse Proxy bereit. Am Ende verfügen Sie über eine einsatzbereite Monitoring-Plattform, an die später beliebig viele Linux-Server angebunden werden können.
Voraussetzungen
Für die Installation sollten folgende Voraussetzungen erfüllt sein:
- Debian 13 (Trixie)
- Root-Zugriff oder Benutzer mit sudo-Rechten
- Mindestens 2 GB RAM (empfohlen 4 GB)
- Zwei CPU-Kerne oder mehr
- Eine öffentliche IP-Adresse oder ein internes Netzwerk
- Optional eine eigene Domain oder Subdomain (z. B. monitoring.example.de)
- Geöffnete Firewall-Regeln für HTTP und HTTPS
Vor Beginn empfiehlt es sich, das System auf den aktuellen Stand zu bringen:
sudo apt update sudo apt upgrade -y
Installieren Sie außerdem einige hilfreiche Werkzeuge:
sudo apt install curl wget git ca-certificates -y
Docker installieren
Beszel wird als Docker-Container betrieben. Falls Docker auf Ihrem Server noch nicht installiert ist, kann dies direkt über die Debian-Paketquellen erfolgen.
sudo apt install docker.io docker-compose-v2 -y
Docker starten und dauerhaft aktivieren:
sudo systemctl enable docker sudo systemctl start docker
Überprüfen Sie anschließend die Installation:
docker --version docker compose version
Die Ausgabe sollte etwa wie folgt aussehen:
Docker version 28.x.x Docker Compose version v2.x.x
Testen Sie zusätzlich, ob Docker korrekt arbeitet:
sudo docker run hello-world
Erscheint die Begrüßungsmeldung, ist Docker einsatzbereit.
Verzeichnis für Beszel erstellen
Legen Sie zunächst ein eigenes Verzeichnis für Beszel an:
mkdir -p ~/beszel cd ~/beszel
Alle Konfigurationsdateien befinden sich anschließend in diesem Verzeichnis.
Docker Compose-Datei erstellen
Erstellen Sie eine neue Datei:
nano compose.yml
Fügen Sie den folgenden Inhalt ein:
services:
beszel:
image: henrygd/beszel:latest
container_name: beszel
restart: unless-stopped
ports:
- "8090:8090"
volumes:
- ./data:/beszel_data
Datei speichern und schließen.
Beszel Server starten
Starten Sie nun den Container:
docker compose up -d
Docker lädt nun automatisch das aktuelle Image herunter.
Den Status können Sie prüfen mit:
docker ps
Die Ausgabe sollte ähnlich aussehen:
CONTAINER ID IMAGE xxxxxxxxxxxx henrygd/beszel
Container-Protokolle prüfen
Sollte es Probleme geben, helfen die Container-Logs weiter:
docker logs beszel
Läuft alles korrekt, erscheinen Hinweise zum erfolgreichen Start.
Ersten Benutzer anlegen
Nach dem ersten Start öffnen Sie Ihren Browser:
http://SERVER-IP:8090
Beim ersten Aufruf erscheint der Einrichtungsdialog.
Legen Sie nun den ersten Administrator an:
- Benutzername
- E-Mail-Adresse
- Starkes Passwort
Dieser Benutzer besitzt automatisch Administratorrechte.
Anschließend melden Sie sich direkt am Dashboard an.
Dashboard aufrufen
Nach erfolgreicher Anmeldung erscheint die Startseite von Beszel.
Zu Beginn ist das Dashboard noch leer, da noch keine Agenten verbunden sind.
Bereits sichtbar sind jedoch:
- Navigation
- Serverübersicht
- Benutzerverwaltung
- Einstellungen
- Agent-Verwaltung
In den nächsten Teilen der Serie werden wir den ersten Linux-Agenten hinzufügen.
Firewall anpassen
Wird UFW verwendet, müssen die benötigten Ports freigegeben werden.
HTTP:
sudo ufw allow 80/tcp
HTTPS:
sudo ufw allow 443/tcp
Soll Beszel zunächst direkt erreichbar sein:
sudo ufw allow 8090/tcp
Firewall neu laden:
sudo ufw reload
Status prüfen:
sudo ufw status
HTTPS mit Apache Reverse Proxy
Für einen produktiven Betrieb empfiehlt sich der Zugriff über HTTPS.
Aktivieren Sie zunächst die benötigten Apache-Module:
sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod ssl sudo a2enmod headers sudo systemctl restart apache2
Erstellen Sie anschließend einen Virtual Host:
<VirtualHost *:80>
ServerName monitoring.example.de
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8090/
ProxyPassReverse / http://127.0.0.1:8090/
ErrorLog ${APACHE_LOG_DIR}/beszel_error.log
CustomLog ${APACHE_LOG_DIR}/beszel_access.log combined
</VirtualHost>
Aktivieren Sie die Konfiguration:
sudo a2ensite beszel.conf sudo systemctl reload apache2
Nun kann das SSL-Zertifikat mit Certbot eingerichtet werden:
sudo certbot --apache
Nach erfolgreicher Einrichtung ist Beszel verschlüsselt erreichbar:
https://monitoring.example.de
Beszel aktualisieren
Ein Update gestaltet sich erfreulich einfach.
Wechseln Sie zunächst in das Verzeichnis:
cd ~/beszel
Aktuelles Image herunterladen:
docker compose pull
Container neu erstellen:
docker compose up -d
Nicht mehr benötigte Images entfernen:
docker image prune -f
Version prüfen:
docker ps
Damit läuft bereits die aktuelle Beszel-Version.
Praktische Tipps
Für einen stabilen Betrieb haben sich folgende Empfehlungen bewährt:
- Beszel ausschließlich über HTTPS bereitstellen.
- Den direkten Port 8090 nicht aus dem Internet erreichbar machen.
- Regelmäßig Docker-Images aktualisieren.
- Backups des Datenverzeichnisses erstellen.
- Eine Firewall verwenden.
- Starke Passwörter für Administratoren wählen.
- Den Server regelmäßig aktualisieren.
- Reverse Proxy mit Apache oder Nginx einsetzen.
Häufige Fehler
Container startet nicht
Prüfen Sie die Container-Logs:
docker logs beszel
Port bereits belegt
Kontrollieren Sie:
sudo ss -tulpn | grep 8090
Falls erforderlich, ändern Sie den Port in der compose.yml.
Dashboard nicht erreichbar
Überprüfen Sie:
- Docker läuft?
- Firewall geöffnet?
- Apache korrekt konfiguriert?
- Reverse Proxy aktiv?
- DNS-Eintrag korrekt?
SSL-Zertifikat wird nicht erstellt
Kontrollieren Sie:
- DNS zeigt auf den Server.
- Port 80 ist erreichbar.
- Apache läuft.
- Firewall erlaubt HTTP und HTTPS.
Die Installation von Beszel unter Debian 13 ist erfreulich unkompliziert und innerhalb weniger Minuten abgeschlossen. Dank Docker müssen keine umfangreichen Abhängigkeiten eingerichtet werden, und Updates lassen sich mit wenigen Befehlen durchführen. In Kombination mit einem Reverse Proxy und HTTPS entsteht eine sichere und wartungsarme Monitoring-Lösung, die sich sowohl für private Homelabs als auch für kleine und mittlere Unternehmensumgebungen eignet.
Im nächsten Teil der Serie werfen wir einen Blick hinter die Kulissen und erklären die Architektur von Beszel. Sie erfahren, wie Hub und Agent zusammenarbeiten, wie die Kommunikation abgesichert wird und wie Beszel Messdaten verarbeitet.