Kurze Zusammenfassung
Das Video bietet einen umfassenden Überblick über Christian Lempas Home-Lab-Setup, einschließlich der verwendeten Anwendungen und Plattformen, kategorisiert nach Infrastruktur, Container-Orchestrierung, IoT, Netzwerkmanagement, Überwachung, KI, Automatisierung, Code-Management, App- und Server-Management, Datenbanken sowie Sicherheit und Identität.
- Proxmox als Virtualisierungsplattform und Ubuntu Server als bevorzugtes Linux-Betriebssystem.
- Docker und Kubernetes für Container-Orchestrierung.
- Automatisierungstools wie Ansible, OpenTofu und GitLab CI/CD zur Vereinfachung von Wartungs-, Konfigurations- und Bereitstellungsaufgaben.
- Sicherheitslösungen wie Sophos Firewall, TwinGate für Remote-Zugriff und Authentic für Identitätsmanagement.
Einführung
Christian Lempa gibt eine Übersicht über die Anwendungen und Plattformen seines Home-Labs. Er kategorisiert diese in Infrastrukturumgebung, Container-Orchestrierung, IoT, Netzwerkverwaltung, Überwachung, KI, Automatisierung, Code-Management, App- und Server-Management, Datenbanken sowie Sicherheit und Identität. Er betont, dass das Video einen Überblick geben soll, ohne zu sehr ins Detail zu gehen, und erwähnt die Bedeutung der effektiven Verwaltung solcher komplexen Setups. Er wirbt für monday.com als eine Plattform zur Verwaltung von Projekten und zur Zusammenarbeit im Team.
Infrastrukturumgebung
Proxmox ist die primäre Virtualisierungsplattform, auf der virtuelle Maschinen und Container laufen. Es gibt zwei Proxmox-Knoten in einem Cluster, wobei der primäre Knoten (PRX One) zwei virtuelle Maschinen hostet: Server Pro One für Anwendungscontainer und Server Pro Two für Datenbanken. Der sekundäre Knoten (Proxy 2) ist für experimentelle Workloads und den Kubernetes-Cluster (Server Pro 3, 4, 5 und 6) vorgesehen. Ubuntu Server ist das bevorzugte Linux-Betriebssystem für die Server, da es weit verbreitet ist und viele Informationen und Tutorials verfügbar sind. Unraid wird als Betriebssystem für den Speicherserver verwendet, hauptsächlich wegen des Bootens von USB und des Unraid-Arrays, das einen redundanten Cold-Storage-Pool ermöglicht.
Container Orchestrierung
Docker ist die wichtigste Containerisierungstechnologie, die auf Server Pro Eins, Zwei und einigen Testservern verwendet wird. Docker Compose wird bevorzugt, da es einfach zu verwalten ist und konsistente Ergebnisse liefert. Docker Swarm wurde noch nicht ausprobiert, könnte aber interessant sein, um Container von einem Docker-Host zu einem anderen zu migrieren. Kubernetes wird mit K3S betrieben, einer leichtgewichtigen Kubernetes-Plattform. Ein Kubernetes-Cluster läuft auf Raspberry Pi, soll aber auf virtuelle Maschinen migriert werden. Longhorn wird als Speicherlösung für Kubernetes verwendet. Traefik ist der bevorzugte Reverse-Proxy auf Docker und Kubernetes, der TLS-Verbindungen und Zertifikate verwaltet, oft in Kombination mit dem Cert-Manager auf Kubernetes.
IoT und Smart Home
Home Assistant ist die einzige Serviceanwendung, die derzeit für Smart Home verwendet wird. Es wird als die beste Anwendung für Smart Home angesehen, da sie Open Source und kostenlos ist und viele verschiedene Anbieter, Marken und Geräte unterstützt. Es gibt noch keine Expertise, daher gibt es nicht so viele YouTube-Tutorials dazu.
Netzwerkmanagement
Sophos-Technologien werden für das Netzwerkmanagement verwendet, einschließlich der Sophos XG-Firewall, eines Sophos-Switches und drahtloser Zugangspunkte von Sophos. Sophos wird hauptsächlich verwendet, weil Christian Lempa für dieses Unternehmen arbeitet und Zugriff auf die Geräte und Werkzeuge hat. Bind 9 wird als DNS-Server verwendet, da es häufig in professionellen Umgebungen eingesetzt wird und das Verständnis von DNS-Technologien fördert.
Überwachung und Reporting
Prometheus, Loki und Grafana werden als Überwachungsstapel verwendet. Prometheus ist eine metrische Datenbank, die Zeitreihendaten wie CPU-Auslastung und Speichernutzung speichert. Grafana Loki ist für die Protokollierung gedacht und sammelt Protokolle von Containerbereitstellungen und virtuellen Maschinen. Grafana dient als visuelle Schnittstelle zur Überprüfung und Erkundung von Metriken und Protokollen. Checkmk ist eine weitere Überwachungskomponente, die zusätzliche Funktionen bietet. Uptime Kuma wird ebenfalls verwendet, um die Verfügbarkeit von Diensten zu überwachen, soll aber möglicherweise durch Checkmk ersetzt werden.
KI
KI wird als wichtige neue Fähigkeit in der Technik angesehen. Olama ermöglicht die Durchführung lokaler LLMs zu Hause. Open Web UI wird als grafische Schnittstelle zur Kommunikation mit der Olama-Plattform verwendet. KI wird für Textgenerierung, Codeüberprüfung und Codeverbesserung eingesetzt. Es gibt noch nicht so viele Inhalte zu diesem Thema, da es da draußen schon so viel Mist gibt.
Automatisierung
Ansible und OpenTofu verbinden viele Punkte in der Home-Lab-Umgebung. Ansible wird als Konfigurationsmanagementtool für Wartungs-, Konfigurations- und Installationsaufgaben verwendet. OpenTofu wird für Bereitstellungsaufgaben verwendet, um Ressourcen in der Infrastruktur zu erstellen und zu definieren. Kestra wird zum Planen bestimmter Automatisierungsaufgaben verwendet. Semaphore UI ist ähnlich wie Kestra, aber einfacher und mit weniger Funktionen. GitLab wird als Code-Management-Plattform verwendet, bietet aber auch eine Automatisierungsplattform namens GitLab CI/CD. Renovate vereinfacht die Containerbereitstellung in Kombination mit GitLab CI/CD. Git T wird ebenfalls als Git-Plattform betrieben, ist aber kleiner als GitLab.
Code Management
GitLab dient als zentrale Plattform für das Code-Management und die Automatisierung im Home-Lab. Alle Bereitstellungen, Konfigurationen und Automatisierungen werden in GitLab-Projekten verwaltet. GitLab CI/CD wird verwendet, um Anwendungsbereitstellungen zu automatisieren. Renovate wird in Kombination mit GitLab CI/CD verwendet, um Container-Updates zu automatisieren. Git T wird ebenfalls betrieben, ist aber kleiner als GitLab.
App- und Servermanagement
Portainer wird nicht mehr aktiv verwendet, da es durch den GitLab CI/CD-Automatisierungsworkflow ersetzt wurde. Dasselbe gilt für Dozzle. Homepage wird ebenfalls nicht regelmäßig verwendet, da es kein wirkliches Problem löst.
Datenbanken
MariaDB, PostgreSQL und InfluxDB werden als Datenbanken im Home-Lab betrieben. MariaDB und PostgreSQL werden verwendet, weil viele andere Anwendungen eine Datenbank im Hintergrund benötigen. InfluxDB dient als Metrikspeicher für das Proxmox-Monitoring.
Sicherheit und Identität
Wazuh wird als XDR- und CM-Plattform verwendet, um ein allgemeines Verständnis von Sicherheitstechnologien zu bekommen. ClamAV wird ebenfalls verwendet, um etwas über Open-Source-Technologien zu lernen. TwinGate ist das wichtigste Tool für den Fernzugriff und eine ZTNA-Lösung. Authentic wird als Identitätsanbieter verwendet, der viele verschiedene Authentifizierungsdienste ersetzt. Cloudflare dient als öffentlicher DNS-Anbieter und Sicherheitsgateway. Passbolt wird als selbst gehosteter Passwort-Manager verwendet, hauptsächlich zum Speichern von Anmeldeinformationen in einer selbst gehosteten Umgebung.