Linux Administration

Beszel unter Debian 13 installieren

Installieren Sie Beszel Schritt für Schritt unter Debian 13. Von Docker über die erste Anmeldung bis hin zur sicheren Bereitstellung per HTTPS – dieser Leitfaden zeigt den kompletten Weg.

4 min Lesezeit
Grafik: Beszel unter Debian 13 installieren

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.