Läuft im Betrieb Öffentliches Repository (Open Source) Privates Homelab-Projekt

HomeDashboard

Self-hosted Blazor-Dashboard auf dem Raspberry Pi

Self-hosted Blazor-Dashboard auf einem Raspberry Pi zum Starten und Herunterfahren eines Windows-PCs sowie zum sicheren Zugriff auf eigene Dienste. Als Open-Source-Projekt positioniert: Quellcode und Dokumentation werden öffentlich bereitgestellt, sobald Zugangsdaten und private Netzwerkdetails entfernt sind.

Problem

Ich wollte meinen Heim-PC aus der Ferne starten, kontrolliert herunterfahren und auf private Dienste zugreifen — ohne dafür unsichere Portfreigaben am Router einzurichten.

Lösung

Ein Raspberry Pi 4 mit Debian 13 läuft dauerhaft und hostet eine kleine Blazor-Weboberfläche. Von dort sendet er ein Wake-on-LAN-Paket an den Windows-PC und führt über eine schlüsselbasierte SSH-Verbindung einen autorisierten Shutdown-Befehl aus. Der Zugriff von außen läuft über Tailscale als sicherer Remote-Zugang und Subnet-Router, sodass keine Ports nach außen geöffnet werden müssen. Die Anwendung wird als self-contained linux-arm64 Binary betrieben.

Mein Beitrag

  • Konzeption und Umsetzung des gesamten Workflows von der Idee bis zum laufenden Dienst.
  • Einrichtung von Raspberry Pi, Debian, Tailscale, Wake-on-LAN und SSH.
  • Entwicklung und Deployment der Blazor-Anwendung als self-contained linux-arm64 Publish.
  • Konfiguration des Windows-PCs für Wake-on-LAN und OpenSSH Server.
  • Betrieb und Aktualisierung der Anwendung inklusive Prozess- und Port-Fehlersuche.

Aufbau

  1. Mobiler oder externer Client → Tailscale → Raspberry Pi → Blazor-Dashboard
  2. Raspberry Pi sendet Wake-on-LAN-Paket an den Windows-PC
  3. Raspberry Pi führt über SSH einen autorisierten Shutdown-Befehl aus
  4. Private Dienste wie Gitea bleiben im Heim- beziehungsweise Tailscale-Netz erreichbar
  5. Betrieb als eigenständige ARM64-Binärdatei unter Linux

Technische Herausforderungen

  • Wake-on-LAN muss auf BIOS-, Netzwerkkarten-, Windows- und Netzwerkebene gleichzeitig korrekt konfiguriert sein.
  • SSH-Schlüssel und Shutdown-Rechte müssen funktionieren, ohne Zugangsdaten in der Anwendung abzulegen.
  • Ein alter Anwendungsprozess belegte nach einem Update den Webport und musste identifiziert und ersetzt werden.
  • Unterschiedliche Netze blockieren VPN- oder Portverkehr: Der Zugriff über Mobilfunk funktionierte, ein restriktives Netz nicht.
  • Updates müssen die laufende Version sauber stoppen und Dateien kontrolliert ersetzen.

Ergebnis

Das Dashboard ist im täglichen Einsatz: PC-Start und Shutdown funktionieren aus der Ferne, private Dienste sind über das Tailscale-Netz erreichbar. Das Projekt zeigt End-to-End-Verantwortung von der Anwendung bis zum Linux-Betrieb.

Medien

Screenshots und ein kurzes Demo-Video sind möglich — Hostnamen, IPs und Benutzernamen werden vorher anonymisiert.