Mein Homelab Dashboard

Inspiriert durch Reddit möchte ich dir mein Homelab Dashboard zeigen und beschreiben wofür ich welche Software verwende.

Mein Homelab Dashboard

Inspiriert durch r/selfhosted dachte ich mir, dass ich auch mal mein Dashboard vorstellen möchte. Der Sinn und Zweck eines solchen Homelab "Dashboards" ist es möglichst viele Dinge als quasi Lesezeichen parat zu haben. Verschiedene andere Softwareprodukte können z. B. auch noch Livezahlen darstellen.

Ich nutze bei mir Hajimari. Das ist eine Software welche für den Einsatzzweck in Kubernetes-Umgebungen gedacht ist. Hajimari hat den Vorteil, dass es Ingress Defintionen auslesen kann und man somit weniger Einstellungen manuell machen muss.

Auf meinem YouTube Kanal habe ich vor längerer Zeit schon mal Heimdall und Organizer vorgestellt. Du kannst dir diese zwei Videos ja gern einmal ansehen.

Mein Hajimari Dashboard

Aufteilung

Grundsätzlich ist das Dashboard in zwei Bereich aufgeteilt. Der obere welcher meine ganzen Homelab Dienste und Systeme darstellt und der untere Teil der verschiedene Lesezeichen immer parat hält.

Während die oberen quasi automatisch dargestellt werden, müssen die Bookmarks unten komplett manuell in die Konfiguration übertragen werden.

Meine ganze Kubernetes Konfiguration findest du übrigens auf Github.

GitHub - cbirkenbeul/k3s-gitops: My home Kubernetes (k3s) cluster managed by GitOps (Flux)
My home Kubernetes (k3s) cluster managed by GitOps (Flux) - GitHub - cbirkenbeul/k3s-gitops: My home Kubernetes (k3s) cluster managed by GitOps (Flux)

Was sind das für Dienste?

Ich gehe einmal von links oben nach rechts unten die Liste durch. Ich verlinke jedes Produkt sodass du dich selbst genauer über die einzelnen Softwareprodukte informieren kannst.

Paperless

Paperless ist mein Dokumenten Management System. Hier werden alle aufzuhebenen Dokumente eingescannt oder per Email weiter geleitet und verarbeitet. Anfangs recht viel Aufwand bis man viele Korrespondenten hinterlegt hat, aber jetzt habe ich mich an den Workflow gewöhnt.

Link: https://github.com/jonaswinkler/paperless-ng

Teslamate

Teslamate ist eine Software um mittels Tesla API die Werte des Fahrzeuges auszulesen und in eine Datenbank zu speichern. Hiermit lassen sich hervorragend Langzeitstatistiken erstellen.

Eine Alternative wäre Tronity, welche auch für viel anderen Hersteller von Elektroautos verfügbar ist.

Link: https://github.com/adriankumpf/teslamate

Warum ein Tesla? Der Grund hinter unserer Entscheidung
Als wir vor mehr als drei Jahren ein Auto brauchten, wollten wir eigentlich schon auf ein Plug-In Hybrid Fahrzeug wechseln. Damals stand der Audi A3 e-tron hoch im Kurs. Auf Grund sehr langer Lieferzeiten, mussten wir uns anderes entscheiden. Warum Tesla werden wir sicherlich auch noch häufiger…

Home Assistant & Home Assistant Codeserver

Home Assistant sollte den meisten wohl bekannt sein: Eine Software zur Steuerung von Smart-Home Geräten. Home Assistant konzentriert sich darauf komplett offline funktionieren zu können und den Datenschutz als eine der wichtigsten Komponenten zu nehmen.
Der Code Server ist dazu Visual Studio Code im Browser um meine Konfiguration editieren zu können.

Link Home Assistant: https://www.home-assistant.io
Link Code Server: https://github.com/coder/code-server

Node-Red

Mittels Node-Red lassen sich Abläufe für Automatisierungen erstellen. Eine gute Ergänzung zu Home Assistant. Ich nutze es aber nur dafür um von einem Wechselrichter unser PV-Anlage die Daten via XML auszulesen und per MQTT weiter zu leiten.

So sieht ein Flow in Node-Red aus.

Link: https://nodered.org

ZwaveJS2MQTT

Noch besitze ich einige ZWave Geräte. Diese werden mittels einem Aeotec Z-Wave Stick als Bridge ausgelesen und via dieser Software per MQTT übertragen. Home-Assistant kümmert sich dann um den Rest.

Link: https://github.com/zwave-js/zwavejs2mqtt

Jellyfin

Jellyfin ist ein Fork von Emby. Dieser wurde, wenn ich das recht in Erinnerung habe, erstellt weil Emby einen sehr merkwürdigen Weg der Datenverwaltung und Monetarisierung hatte. Mittlerweile erfreut sich Jellyfin immer größerer Beliebtheit und ist definitiv eine Alternative zu Plex.

Link: https://jellyfin.org

Lidarr / Radarr / Sonarr / Sabnzbd

Auf diese Produkte gehe ich nicht genauer ein. Wer sie googelt wird schon finden wofür sie sind.  😉

Diese Software stellt mir meinen Musikserver bereit und mittels Subsonic Protokoll sind damit auch verschiedene Clients Kompatibel. Ich habe ein paar andere Musikserver ausprobiert und bin jetzt bei Navidrome hängen geblieben. Ehrlich gesagt, ohne besonderen Grund. Läuft einfach.

Link: https://www.navidrome.org

Plex

Neben Kodi (wollte schon gerade xmbc schreiben 🙄) wohl der bekannteste Medienserver. Diesen nutze ich zum Teilen von Mediatheken. Jellyfin wird rein für mich verwendet.

Link: https://www.plex.tv/de/

Grafana

Die Mutter aller Visualisierungstools. Mit Grafana lässt sich so jede Datenquelle anzapfen und visualisieren. Entsprechend stellt sie mir diverse Informationen aus dem Prometheus Monitoring des Kubernetes Clusters bereit. Aber auch Teslamate visualisiert hiermit die gewonnenen Daten.

Beispieldashboard meine Kubernetes Clusters

Link: https://grafana.com

Authentik

Authentik ist ein Single-Sign-On-Provider. Verschiedene Produkte lassen sich hieran anbinden um nicht immer einzelne Zugangsdaten pflegen zu müssen. Authentik hat auch die Möglichkeit verschiedene Quellen an Nutzerinformationen anzubinden (z. B. GitHub, Microsoft AAD, LDAP, etc)
Es ist sehr angenehm sich nur noch mit einem paar Zugangsdaten anmelden zu können.

Link: https://goauthentik.io

Proxmox Authentifizerung mit Authentik
Proxmox 7 Anbindung an einen OpenID Provider, bereitgestellt durch Authentik.

Unifi

Die Controllersoftware meiner Ubiquiti Unifi Geräte. Ohne diese lassen sich die ganzen Komponenten nicht konfigurieren.

Link: https://ui.com

Rook-Ceph

Mein Kubernetes Cluster braucht natürlich auch ein Speicher. Da ich mehrere Hosts verwende muss dieser Speicher natürlich allen Systemen bekannt sein. Ich setzte hierfür Ceph als verteiltes Dateisystem ein. Rook-Ceph ist dabei die Implementation für Kubernetes um Ceph als Cluster Storage Interface (CSI) verwenden zu können.

Das Dashboard das rook-ceph bereitstellt. Performancedaten gibts dann via Prometheus.

Link: https://rook.io

Mein Kubernetes-Homelab (Stand 10/2021)
Was hat sich in den letzten Monaten in meinem Kubernetes Homelab so alles getan? Ich zeige dir auf welche Tools und Services ich dafür nutze.

UnRaid

Natürlich braucht ein Homelab auch ein NAS. Da dieses bei mir wirklich nur "kalte Daten" speichern muss, habe ich mich für UnRaid entschieden. Zwar kostet die Software ein paar Dollar, allerdings lassen sich wie beim Synology SHR verschieden große Festplatten miteinander kombinieren. Bei dem Wust an 2, 3 und 4 TB HDDs sehr angenehm. Wird nur langsam mal Zeit neue Disks zu kaufen.

Link: https://unraid.net/de

opnSense

Vor ein paar Monaten habe ich meine Unifi USG verkauft. Nicht das sie schlecht war, aber für meinen Kubernetes Cluster wollte ich auf BGP setzen. Das wird so nicht offiziell unterstützt und auf einen nervigen weg über eingepflanzte json-Dateien habe ich keine Lust. OpnSense "gefällt" mir besser als pfSense. Eine Featureentscheidung hat es hier nicht gegeben.

Ein Blick ins opnSense Dashboard

Link: https://opnsense.org

vzlogger

Eine sehr große Hassliebe! vzlogger ist ein Teil des Volkszähller-Projektes. Damit lassen sich Smart-Meter auslesen. Leider haben wir in Deutschland ja immer noch ein Problem mit dem Datenschutz, sodass seit Jahren diese Dinger verbaut werden, aber ohne zusätzlich Strom zu fressen sind sie zu nix zu gebrauchen.

Link: https://volkszaehler.org

Zigbee2MQTT

Ähnlich zu zwavejs2mqtt bietet mit zigbee2mqtt die Möglichkeit Zigbee-Geräte per MQTT mit Home Assistant verbinden zu können. Ich nutze hierfür das Raspberry Pi Modul RaspBee II und verzichte somit auf sämtliche Herstellerbridges die mir Zigbee bereit stellen wrüden.

Link: https://www.zigbee2mqtt.io

PGAdmin

Meine Kenntnisse bei MySQL/MariaDB sind ganz okay. PostgresQL kann ich allerdings so gut wie gar nicht. Entsprechend habe ich hier ein Webinterface zur Verwaltung meines PostgresQL Servers. Die MySQL/MariaDB Alternative phpMyAdmin sollte ja auch jedem bekannt sein.

Link: https://www.pgadmin.org

🍻 Sag Danke
Mit kleinen Gesten kannst du meine Arbeit wertschätzen. Was und wie du das tun kannst, erfährst du hier.