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
- Mobiler oder externer Client → Tailscale → Raspberry Pi → Blazor-Dashboard
- Raspberry Pi sendet Wake-on-LAN-Paket an den Windows-PC
- Raspberry Pi führt über SSH einen autorisierten Shutdown-Befehl aus
- Private Dienste wie Gitea bleiben im Heim- beziehungsweise Tailscale-Netz erreichbar
- 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.