Dashy: Dein personalisiertes Kommandozentrum!

Für Homelab-Enthusiasten ist das Jonglieren mit IP-Adressen, Ports und DNS-Einträgen oft eine Herausforderung. Doch zum Glück gibt es heutzutage zahlreiche kostenlose Dashboards, die selbst gehostet werden können. Eines davon ist Dashy. Das Dashboard ermöglicht nicht nur das hübsche Auflisten der eigenen Services, sondern kann deren HTTP-Statuscodes auch noch überwachen.

Damit hast du die Verfügbarkeit deiner Dienste immer im Blick. Und der Clou an der Sache sind die praktischen Widgets. Mit denen kannst du Statistiken und andere wichtige Daten von deinen Diensten abrufen und in das Dashboard integrieren. Und wenn wir schon beim Design angelangt sind, Dashy bietet eine breite Palette verschiedener Themes zur Auswahl.

Für jene, die noch mehr Kontrolle anstreben, besteht die Möglichkeit, umfassende Anpassungen mithilfe von CSS vorzunehmen. Zusätzlich zu den deutschen Übersetzungen aller Themes gibt es auch noch eine Vielzahl von Icons. Ein vollständiger Multi-User-Support ist natürlich auch am Start. In diesem Artikel werfen wir einen genaueren Blick auf die Features von Dashy.

Was macht Dashy besonders?

Dashy Settings

Die Funktionsliste von Dashy ist beeindruckend lang. Ich schätze besonders den klaren Fokus auf Datenschutz sowie die äußerst praktische Suchleiste. Die Unterstützung von Hotkeys ist natürlich ebenfalls ein Pluspunkt. Neben der standardmäßigen Startseite gibt es auch eine minimale Ansicht, die sich hervorragend als schnell ladende Startseite für den Browser eignet.

Zusätzlich besteht die Möglichkeit, weitere Seiten anzulegen, um eine klare und strukturierte Übersicht bei der Verwaltung zahlreicher Dienste zu gewährleisten. Besonders schätze ich, dass sowohl Abschnitte als auch Elemente mit aussagekräftigen Icons versehen werden können. Das trägt erheblich zur Verbesserung der Übersichtlichkeit bei.

Nicht zuletzt, weil man nahezu jede Quelle für hochwertige Grafiken nutzen kann:

  • Favicon: Automatisches Einbinden eines App-Symbols anhand des verwendeten Favicons oder Logos
  • Icon-Pakete: Verwendung von Grafiken aus den Kollektionen Font Awesome, Simple Icons oder Material Icons.
  • Emoji: Verwendung beliebiger gültiger Emojis.
  • Auto-Generierung: Einzigartige, automatisch generierte Bilder zur einfachen Identifizierung von Diensten.
  • URL: Angabe der Webadresse eines gültigen Bildes, um es abzurufen und dann im Dashboard darstellen zu können.
  • Lokal: Speichern von benutzerdefinierten Bildern auf dem lokalen Server, um sie dann durch Verweis auf den Dateinamen verwenden zu können.
  • Homelab Icons: Für bekannte Dienste in der Homelab-Community steht eine umfangreiche Auswahl an Icons zur Verfügung.

Die individuelle Gestaltung von Dashy und den Bookmarks ist somit definitiv gewährleistet. Beachtenswert ist dabei, dass sowohl die YAML-Datei als auch die Benutzeroberfläche verwendet werden können, um das Dashboard an die eigenen Bedürfnisse anzupassen. Nicht vergessen darf man an dieser Stelle noch die vordefinierten Widgets für die Anzeige nützlicher Informationen.

Die Auswahl hier ist enorm. Ich persönlich schätze die folgenden Widgets:

  • Vulnerability Feed
  • IP Blacklist Checker
  • Healthcheck Status
  • RSS Feed
  • News Headlines
  • Joke of the day

Natürlich stehen zahlreiche Widgets für das Ressourcenmonitoring zur Verfügung, und es werden auch einige bekannte Apps wie Pihole, Nextcloud und AdGuard Home unterstützt. Andere Dashboards zeichnen sich jedoch durch eine breitere Palette an Integrationen aus. Dennoch sind die wichtigsten Selfhosted Services abgedeckt. Dashy ist damit auf jeden Fall eine gute Wahl.

Die Liste der Features ist wirklich umfangreich, und jedem einzelnen davon kann man keinen eigenen Absatz widmen. Daher möchte ich dir zum Abschluss noch einmal alle Schlüsseleigenschaften an zentraler Stelle präsentieren:

  • Kontinuierlich werden neue Funktionen hinzugefügt, wobei die Entwicklung als Open-Source-Software erfolgt und alles zu 100 % kostenlos ist.
  • Es steht eine verschlüsselte und vor allem kostenlose Offsite-Cloud-Backup-Funktion inklusive Wiederherstellung zur Verfügung.
  • Diverse App-Startmethoden wie neuer Tab, gleicher Tab, Zwischenablage, Popup oder in der Arbeitsbereichsansicht öffnen vorhanden.
  • Responsive Benutzeroberfläche und Progressive Web App (PWA) für grundlegenden Offline-Zugriff.
  • Erstellung mehrerer Seiten möglich, um die Inhalte besser zu strukturieren.
  • Echtzeit-Statusüberwachung für alle eingetragenen Apps oder genauer gesagt Links anhand der HTTP-Statuscodes.
  • Anzeige von Informationen und dynamischen Inhalten mithilfe der zahlreichen Widgets. Es werden viele beliebte Homelab Services unterstützt.
  • Suchleiste mit Support für Bezeichnung, Domain oder Tag.
  • Anpassbare Hotkeys und Tastaturkürzel.
  • Viele integrierte Designs, mit UI-Farbeditor und Unterstützung für benutzerdefiniertes CSS.
  • Optionale Authentifizierung mit Unterstützung für mehrere Benutzer, konfigurierbare Berechtigungen und SSO-Support.
  • Über 10 menschenerstellte Übersetzungen sind verfügbar, und weitere Sprachpakete befinden sich in Bearbeitung.
  • Arbeitsbereichsansicht zum Wechseln zwischen mehreren Apps vorhanden.
  • Minimale Ansicht zur Verwendung als Browser-Startseite verfügbar.
  • Optionen für ein Vollbild-Hintergrundbild, benutzerdefinierte Navigationsleisten-Links, HTML-Footer, Titel usw. integriert.

Jeder Captain seines eigenen Homelabs benötigt früher oder später eine effiziente Kommandobrücke. Dashy ist dafür eine erstklassige Wahl. Alles lässt sich individuell anpassen, es stehen zahlreiche Icons zur Verfügung, und die Vielzahl praktischer Widgets erleichtert die Nutzung erheblich. Zudem steht Datenschutz an erster Steller und das Dashboard wird kontinuierlich weiter entwickelt.

Wie wird Dashy deployt?

Dashy kann auf verschiedene Weisen installiert werden: manuell, per 1-Klick-Installation auf unterstützten Cloud-Plattformen oder als Docker-Container. Die Hardwareanforderungen sind dabei äußerst gering. In den meisten Szenarien sollten 1 GB Arbeitsspeicher, 2 GB freier Speicherplatz sowie 1 CPU-Kern vollkommen ausreichen.

Damit läuft Dashy ausgezeichnet auf stromsparenden, ARM-basierten Einplatinencomputern wie dem Raspberry Pi 3 oder neuer. Ein entsprechendes Image steht selbstverständlich zur Verfügung. Der Browser-Support ist hervorragend, wobei derzeit Chrome, Firefox, Microsoft Edge, Opera sowie Safari unterstützt werden.

In der Praxis ist die Inbetriebnahme als Docker-Container sicherlich am beliebtesten. Aufgrund dessen werde ich dir im Folgenden zeigen, wie du Dashy in wenigen Minuten in Betrieb nehmen kannst. Zuerst musst du einen Bind-Mount für den Container erstellen. Es handelt sich hierbei um das Datenverzeichnis, in dem die YAML-Konfigurationsdatei gespeichert wird:

mkdir -v $HOME/dashy

Im nächsten Schritt musst du diese noch erstellen. Dies umfasst das Anlegen der Datei mit einer grundlegenden Konfiguration. Um dir das Durchforsten der Dokumentation zu ersparen, habe ich bereits eine einfache YAML-Konfiguration erstellt. Weitere Anpassungen kannst du später bequem im Browser vornehmen. Für den Anfang kannst du den folgenden Code in deinem Terminal einfügen:

cat << EOF > $HOME/dashy/my-config.yml
pageInfo:
  title: Mein eigenes Homelab
sections: 
- name: Meine Offsite-Services
  icon: far fa-rocket
  items:
  - title: GitHub
    description: Dashy source code and docs
    icon: fab fa-github
    url: https://github.com/Lissy93/dashy
  - title: Issues
    description: View open issues, or raise a new one
    icon: fas fa-bug
    url: https://github.com/Lissy93/dashy/issues
- name: Meine Local-Services
  items:
  - title: Firewall
    icon: favicon
    url: http://192.168.1.1/
  - title: Game Server
    icon: https://i.ibb.co/710B3Yc/space-invader-x256.png
    url: http://192.168.130.1/
EOF

Nun fehlt nur noch das Docker-Compose-File. Damit teilst du Docker mit, wie der Dashy-Container erstellt werden soll. Vor dem ersten Start musst du jedoch noch zwei Dinge anpassen. In der Volumes-Sektion musst du den korrekten Pfad zur YAML-Konfiguration angeben. Diese befindet sich in deinem Homeverzeichnis, und zwar im Ordner dashy.

Außerdem musst du noch deine Benutzer-ID und Gruppen-ID ermitteln. Das gelingt dir mithilfe des Befehls id $USER. Nachdem du beides in der Docker-Compose-Datei angepasst hast, kannst du den Docker-Container endlich deployen. Der Befehl dafür lautet übrigens docker-compose up -d und muss im Dashy-Ordner ausgeführt werden.

---
version: "3.8"
services:
  dashy:
    image: lissy93/dashy
    container_name: Dashy
    volumes:
      - /home/user/my-config.yml:/app/public/conf.yml
    ports:
      - 4000:80
    environment:
      - NODE_ENV=production
      - UID=1000
      - GID=1000
    restart: unless-stopped
    healthcheck:
      test: ['CMD', 'node', '/app/services/healthcheck']
      interval: 1m30s
      timeout: 10s
      retries: 3
      start_period: 40s

Dein Dashboard kannst du unter Port 4000 aufrufen. Dafür musst du die IP-Adresse deines Linux-Servers gefolgt vom Port im Browser eingeben. Sollte dein Dashy-Container jemals ein Problem haben, erkennt er dies aufgrund des integrierten Healthchecks und startet automatisch neu. Ein praktisches Feature, oder? In diesem Sinne wünsche ich dir viel Erfolg beim Konfigurieren.

Von Fabian Wüst

Er ist leidenschaftlicher Open-Source-Benutzer und ein begeisterter Technologie-Enthusiast. Als kreativer Kopf hinter Homelabtopia bringt Fabian hier seine umfangreiche Erfahrung als Linux-Admin ein. Um sicherzustellen, dass du aus seinen Beiträgen den größtmöglichen Nutzen ziehen kannst, führt er ausgiebige Tests durch und errichtet dafür immense Setups.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert