Einleitung #
Als ich mit dem Aufbau meines eigenen Homelabs begann, suchte ich nach den ersten selbstgehosteten Anwendungen, mit denen man starten kann. Sie sollten einfach einzurichten, aber auch hilfreich sein, damit Ich auch in Zukunft davon profitiere.
Nach mehreren Jahren, in denen ich in das Homelabbing Rabbit-Hole gefallen bin, ist dies meine Zusammenfassung und kurze Einführung in das Thema für alle, die gerade damit beginnen wollen. Wie auf dem Foto meines Homelabs zu sehen, es macht süchtig – aber auch viel Spaß.
Warum ein eigenes Homleab?
Du musst IT zumindest ein kleines bisschen lieben. Andernfalls wird dies eher eine Bestrafung als eine Bereicherung sein.
Dann die ewige Antwort: Big Tech stiehlt deine Daten, selbst wenn du Nein sagst und auch wenn du für deren Dienste bezahlst. Warum also nicht das Geld nehmen und das Ganze selbst aufbauen, die volle Kontrolle haben und von der Open-Source-Community profitieren?
Auch wenn du eine Karriere in der IT anstrebst, wirst du enorm davon profitieren, dein eigenes Homelab aufzubauen (zumindest ging es mir so)- Du wirst dank des Homleabs die Grundlagen von Linux, Networking, Docker und vielem mehr verstehen.
Was ist überhaupt ein Homelab?
Eine gute Definition ist auf Reddit in der r/homelab Community zu finden:
r/homelab - Introduction
Die Hardware #
Vorab: Der Kauf von gebrauchter Hardware ist immer meine Empfehlung. Du kannst gute Hardware mit einem kleinen Budget bekommen, es gibt keinen Grund, riesige Server zu kaufen. Wir reden hier nicht von Industrieprojekten, nur von einem kleinen Homelab. Aber glaub mir, wenn ich sage: einmal angefixt, wird das Homelab “historisch wachsen” :)
Hast du einen alten Laptop herumliegen, den du nicht mehr benutzt? Oder einen alten von Freunden, Familie oder deinem Arbeitgeber? Großartig – dieses Gerät ist mehr als ausreichend für den Anfang.
Wenn du keinen zur Verfügung haben solltest: kauf ihn gebraucht. Es gibt viele günstige Angebote, selbst für weniger als 50€. Du kannst später immer aufrüsten, aber Notebooks sind ein solider Start, um ein Gefühl für das Selfhosting zu bekommen. Gleiche Gründe wie bei den Laptops: Ausreichend für den Start, gute Verfügbarkeit (gebraucht kaufen, einen alten herumliegen haben oder durch Familie, Freunde, .. bekommen). Mein Homelab begann auf einem Raspberry Pi, was immer noch eine gute Option ist. Der Raspberry Pi 5 zum Beispiel hat genug Leistung, um loszulegen - und das bei einem sehr geringen Energieverbrauch. Erhältlich für schmalen Taler, auch wenn hier ebenfalls die Preise in den letzten Jahren gestiegen sind. Ein Pi 4 ist auch ausreichend, ich betreibe immer noch einen in meinem Lab für einige Dienste – und es ist das einzige Gerät, das ich 24/7 betreibe. Small-Factor-Computer sind großartig.Alte Laptops
Tipp: Mindestens 4GB DDR4 RAM, 8GB sind bevorzugt. Konfiguriere außerdem, dass der Laptop zugeklappt werden kann, ohne dass er in den Ruhezustand wechselt.
Alte Computer
Raspberry Pi
Mini-Computer
Ich betreibe die meisten meiner Dienste auf gebrauchten Mini-Computern von eBay. Es gibt ein großes Angebot, alte Bürocomputer mit geringem Energieverbrauch werden oft von Unternehmen verkauft, die ihre Systeme aufrüsten. Hier kann viel Leistung ohne hohen Energieverbrauch im Vergleich zu einem normalen Computer erreicht werden – außerdem sind Mini-Computer meistens einfach aufzurüsten (RAM / Festplatte).
Halte auf Ebay und anderen Portalen nach Mini-PCs wie dem HP Elitedesk oder Intel Nuc N100 basierten Systemen Ausschau. Achte auch auf Geekom oder Beelink, diese sind teils sogar Neu für einen guten Preis erhältlich.
Mac Minis funktionieren ebenfalls, die neueren Modelle mit Apple Silicon Architektur sind leistungsfähiger (die neuesten Modelle können sogar kleine lokale LLMs ausführen).
Mit einem solchen System hat man länger Spaß als mit alten Laptops, PCs oder einem Pi.
Das Betriebssystem #
Wähle immer Linux (ich bevorzuge Debian-basierte Distributionen).
Es gibt viele Anleitungen, wie man Linux auf fast jedem System einrichtet.
Installiere es ohne GUI, nur mit einem einfachen Terminal, damit keine Ressourcen für die GUI verschwendet werden und du ein Gefühl für das Terminal bekommst.
Nachdem das System eingerichtet ist, benötigst du im Grunde nur noch Docker, und schon kann es losgehen!
Über Docker
Docker gibt einem die Möglichkeit, Anwendungen in Containern auszuführen.
Container sind leichte, eigenständige Softwarepakete, die alles enthalten, was zum Ausführen einer Anwendung benötigt wird: Code, Laufzeitumgebung, Systemwerkzeuge, Systembibliotheken und Einstellungen. Dies gewährleistet Konsistenz über verschiedene Umgebungen im Homelab hinweg.
Du kannst mit Docker:
- Verschiedene Dienste hosten: Webserver, Datenbanken, Medienserver, Home-Automation-Plattformen oder Netzwerküberwachungstools in isolierten Containern betreiben.
- Bereitstellung und Verwaltung vereinfachen: Anwendungen können einfach bereitgestellt und aktualisiert werden, ohne sich um Konflikte mit anderer Software oder Systemabhängigkeiten sorgen zu müssen.
- Ressourcen effizient nutzen: Container teilen sich den Host-OS-Kernel, wodurch sie leichter sind als virtuelle Maschinen und es ermöglichen, mehr Dienste auf begrenzter Hardware auszuführen.
- Experimentieren: Neue Anwendungen schnell in isolierten Umgebungen testen, ohne das Host-System zu beeinflussen. Wenn du mit Low-Spec-Hardware wie einem alten Laptop anfangen und später aufrüsten möchtest, können die Docker-Anwendungen problemlos auf neue Systeme migriert werden, selbst sich das Betriebssystem wechselt!
Alle hier genannten Vorschläge können oder müssen mit Docker betrieben werden.
Eigene Anwendungen im Homelab hosten #
Dies sind meine Vorschläge für den Start. Sie sind nicht schwer einzurichten und ein solider Start für kommende Projekte, zudem helfen sie bei alltäglichen Aufgaben und Problemen.
Ich werde die Einrichtung der Dienste nicht im Detail erklären, sondern nur eine kurze Zusammenfassung dazu geben.
Es gibt bereits viele bestehende Anleitungen für jede dieser Anwendungen, und ich muss nicht wiederholen, was andere bereits getan haben – und das möglicherweise besser, als ich es könnte.
Suche einfach nach “Setup Guide {Name der Anwendung}”.
Portainer - deine Docker-Anwendungen verwalten #
Github - portainer/portainer
Portainer wird die Managementplattform für Docker sein.
Mit Portainer hast du eine Webanwendung für all deine Umgebungen und Docker-Container.
Gut zu wissen: In Portainer werden die “docker-compose”-Dateien, die meiste in den Setup-Anleitungen für die Dienste zu finden sind, als “Stack” bezeichnet.
Ein Stack ist die docker-compose-Datei!
Adguard / Pihole - Werbefreiheit genießen #
Github - AdguardTeam/AdGuardHome
Github - pi-hole/pi-hole
Jetzt starten wir mit dem (zweiten) ersten Dienst: Adguard oder Pihole. Nutze Portainer für die Einrichtung, um ein Gefühl für deine neue Docker-Management-Webanwendung zu bekommen!
Beide Werbefilter sind DNS-Filter für dein Heimnetzwerk: Sie blockieren Werbung, unseriöse Websites oder Spam auf jedem mit deinem Netzwerk verbundenen Gerät.
Du hast Kinder? Füge Filterlisten für NSFW, Glücksspieleoder sexuell anstößige Inhalte hinzu! Das Blockieren bestimmter Social-Media-Anbieter ist ebenfalls möglich.
Sowohl Adguard als auch Pihole verfügen bereits über eine Reihe von Filterlisten. Wenn diese deinen Anforderungen nicht genügen, gibt es viele weitere Listen online: Github - hagezi/dns-blocklists.
Dashboard für deine Anwendungen #
Jetzt haben wir schon zwei Dienste – und mehr kommen hinzu! Wäre ein Dashboard nicht schön, um einen Überblick über deine Dienste zu bekommen? Hier folgen 3 Empfehlungen:
Heimdall
Github - linuxserver/Heimdall
Heimdall ist sehr einfach und liefert lediglich eine Liste von Links als Kacheln. Füge Dienste und deren URLs hinzu und genieße dein einfaches kleines Dashboard.
Homepage
Github - gethomepage/homepage
Heimdall erscheint dir langweilig, und du möchtest mehr? Homepage bietet viele Integrationen für selbstgehostete Dienste, um nicht nur einen Überblick darüber zu haben, WAS du hostest, sondern auch darüber, was der Dienst gerade tut.
Zum Beispiel: Möchtest du sehen, wie viele URLs Adguard in den letzten 24 Stunden blockiert hat? Sieh dir diese Daten mit Homepage an, ohne Adguard zu öffnen!
Das Internet liebt es, ausgefallene Homepages zu bauen - hol dir Inspiration von Github - Share your homepage.
Homarr
Github - homarr-labs/homarr
Ähnlicher zu Homepage, aber mit Fokus auf den Arr Stack. Der “Arr Stack” bezieht sich im Allgemeinen auf eine Sammlung von Anwendungen zur Medienverwaltung, insbesondere zum automatisierten Herunterladen und Organisieren von Multimedia-Inhalten.
Dieser Beitrag konzentriert sich nicht auf dieses Thema, aber Homarr verdient es, erwähnt zu werden!
Bookstack - Deine Wissensdatenbank #
Github - BookstackApp/BookStack
Das schicke Dashboard ist eingerichtet, drei Dienste laufen bereits – viel wurde konfiguriert, vielleicht gab es Rückschläge, Lösungen wurden recherchiert und viel neues Wissen gewonnen.
Hier kommt Bookstack ins Spiel: Deine persönliche Wissensdatenbank.
Bookstack ist wie ein echtes Bücherregal aufgebaut: Erstelle ein Regal (Kategorie), in diesem Regal erstellst du Bücher (Thema) und in diesem Buch können Seiten (Inhalt) erstellt werden.
- Richte Bookstack wie gewohnt mit Portainer ein und erstellen dein erstes Regal: “Homelab”.
- Erstelle ein Buch wie “Einrichtung & Konfiguration” und füge Seiten für jede selbstgehostete Anwendung hinzu.
- Notiere und dokumentiere deine Konfigurationen, Lösungen für Probleme und wichtige Links.
Fun fact: Die Idee für “torminal.com” entstand, als ich vor Jahren alles über mein Homelab in Bookstack dokumentiert habe.
Immich - Fotos/Videos verwalten #
Github - immich-app/immich
Dieser riesige Ordner mit Tausenden und Abertausenden von Fotos und Videos, Backups von deiner Kamera und Mobiltelefon, den man nie aufräumt? Immich ist die Lösung.
Es ist wie die Schwester von Google Photos, nur ohne den “Großen Bruder”, der deine privaten Erinnerungen scannt. Immich hilft dir, Duplikate zu finden und zu löschen, nach Person, Ort oder Jahr zu sortieren und deine Erinnerungen zu organisieren.
Dies ist der Teil Ihres Homelabs, bei dem du über ein NAS (Network Attached Storage) und eine Backup-Strategie nachdenken sollten – und so schnell wollen wir unser kleines Homelab wachsen sehen.
Paperless NGX - Dokumente verwalten #
Github - paperless-ngx/paperless-ngx
Zusammenfassend ist Paperless NGX das Immich für deine Dokumente.
Das gleiche Problem: Die Ordner stehen in deinem Regal mit allen möglichen Dokumenten für Steuern, Versicherungen oder Autopapiere… aber wenn ein spezifisches Dokument benötigt wird, beginnt die Suche. Und das dauert - manchmal… sehr lange.
Warum also nicht die Zeit investieren und alle deine Dateien scannen? Kauf dir (wenn nicht vorhanden) einen günstigen (Duplex!) Scanner bei eBay oder nutz einfach dein Smartphone mit einer Scanner-App und beginne mit der Digitalisierung.
Es gibt sogar Paperless Apps, die mit der Anwendung verbunden werden können, zu teilen mit einer integrierten Scan-Option.
Paperless scannt die Dokumente mit OCR (Optical Character Recognition), um den Inhalt der Dateien zu lesen – du kannst Regelsätze erstellen, um die gescannten Dateien mit diesen Informationen automatisch zu sortieren.
Beispiel: Alle Dokumente mit “Rechnung” und “Firma-xyz” aus dem Jahr 2024 sollen in den Ordner “Steuern-2024” wandern. Benötigst d das nächste Mal schnell ein Dokument für deine Steuern, wirst du nicht mehr ewig in Ordnern wühlen müssen..
Bonus: Die Struktur im Hintergrund basiert lediglich auf Ordnern, auf den du vom Dateiexplorer deines PCs zugreifen kannst! Heißt, selbst wenn Paperless mal nicht funktioniert, sind alle Dateien übersichtlich erreichbar.
Sicherer Passwort-Manager #
Github - dani-garcia/vaultwarden
Passwortmanagement, aber alles bleibt auf deinem Gerät: Vaultwarden!
Kompatibel mit den Apps von Bitwarden und erhältlich für alle gängigen Betriebssysteme, gibt dir Vaultwarden die Kontrolle über deine Passwörter zurück. Es existiert sogar eine Browser-Erweiterung, sodass du den Chrome Passwort-Manager ohne Schmerzen aufgeben kannst.
Weitere Ressourcen #
Gefalllen dir die oben genannten Ideen nicht? Kein Problem! Es gibt riesige Listen von Diensten, die selbstgehosted können.
Ruf einfach eine der folgenden Websites auf, Filter nach Kategorien und schau dir an, was dein Interesse weckt:
- awesome-selfhosted.net
- selfh.st Die Suche nach “Top selfhosted services” auf Youtube liefert außerdem auch viele andere Ideen von zahlreichen guten Erstellern.
Zusammenfassung #
Mein Vorschlag: Fang einfach mit dem an, was dir in den Sinn kommt. Verschaffe dir ein Verständnis für Linux und Docker, von da aus eröffnen sich diverse Möglichkeiten für das eigene Homelab.
Die Homelab-Reise fortsetzen #
Ein Homelab kann ein Rabbit-Hole sein, und du bist auf dem besten Wege, hineinzufallen.
Wie du tiefer in das Loch fallen kannst:
- Schaue dir an, wie du dein eigenes NAS (Network Attached Storage) bauen kannst, um deine Dateien auf einem Gerät (einem “Fileserver”) zu speichern, sodass du von jedem Gerät im Netzwerk darauf zugreifen kannst (Tipp: ein NAS kann auf Low-Spec-Hardware ausgeführt werden). Synology und Ugreen sind auch gute “All-in-One”-Optionen, die anfängerfreundlicher sind.
- Erstell eine Backup-Strategie für deine Dienste und Dateien (insbesondere Immich / Paperless NGX / Vaultwarden)!
- Wein ein wenig, wenn etwas nicht mehr funktioniert und du Stunden damit verbringst, die Lösung zu finden.
- Erstelle ein VPN-Zugriff auf dein Netzwerk (Vorschlag: Wireguard), damit du von überall auf deine Dienste zugreifen kannst (HINWEIS: Mach deine Anwendungen NICHT ohne VPN zugänglich. Die Anwendungen werden zumindest von Botnets angegriffen - jede öffentlich zugängliche Angriffsfläche im Internet bringt gefahren mit sich). Eine alternative sind z.B. Cloudflare Tunnels.
- Sammel Wissen über Sicherheit in deinem Netzwerk. Schauen dir zum Beispiel “ClamAV” und “fail2ban” an und fang an Firewalls zu verstehen.
- Bonus: Hinterlasse einen Kommentar, wenn du andere Anwendungen für Anfänger vorschlagen willst oder Wünsche für weitere Anleitungen hast. Kritik ist ebenfalls willkommen!