Schritt für Schritt zum eigenen Heimserver mit Docker

Schon länger spiele ich mit dem Gedanken, einen eigenen Homeserver aufzubauen. Nicht, weil ich zu Hause unbedingt ein halbes Rechenzentrum nachbauen möchte, sondern weil ich einige Dinge schlicht gern selbst unter Kontrolle habe.

Anfangs lag der Gedanke nahe, möglichst viele Dienste direkt auf meinem vorhandenen NAS laufen zu lassen. Das funktioniert grundsätzlich auch. Nur hängt dann eben ziemlich viel an einem einzigen Gerät. Fällt das NAS aus, betrifft das im Zweifel nicht nur die Daten, sondern gleich noch Nextcloud, AdGuard, Paperless und alles andere, was man im Laufe der Zeit so darauf untergebracht hat.

Irgendwann kam deshalb die ziemlich naheliegende Frage auf: Warum eigentlich nicht Datenspeicherung und Dienste voneinander trennen?

Im professionellen Umfeld ist das völlig normal. Serverdienste laufen auf dafür vorgesehenen Systemen, unter Windows Server oder Linux, sauber nach Aufgaben getrennt. Zuhause sieht das oft anders aus: Router anschließen, WLAN einrichten, fertig. Solange alles funktioniert, spricht auch überhaupt nichts dagegen.

Aber irgendwann möchte man vielleicht mehr.

Werbung und Tracking schon auf DNS-Ebene filtern. Eigene Dienste betreiben. Dateien nicht überall verteilen. Zugriffe besser kontrollieren. Weniger davon abhängig sein, was irgendein Cloudanbieter morgen mit Preisen, Speicherplatz oder Funktionen anstellt.

Genau darum geht es bei diesem Projekt: mehr Kontrolle, mehr Sicherheit und ein Stück digitale Autonomie, ohne dafür direkt einen Serverschrank mit der Geräuschkulisse eines startenden Flugzeugs in den Keller stellen zu müssen.

Ein Heimserver muss kein Vermögen kosten

Beim Wort „Server“ denkt man schnell an große 19-Zoll-Racks, Lüfterlärm, hohen Stromverbrauch und Hardwarepreise, bei denen man kurz überprüft, ob der Dispo noch Luft hat.

Muss alles nicht sein.

Für meinen Homeserver kommt ein gebrauchter Dell OptiPlex Micro zum Einsatz. Intel Core i5, 16 GB RAM, kleines Gehäuse, wenig Platzbedarf. Welcher i5 genau darin steckt, muss ich tatsächlich noch einmal nachsehen – irgendwo im Bereich der 7. oder 8. Generation.

Und ganz ehrlich: Für dieses Projekt ist das auch nicht wahnsinnig wichtig.

Solche kleinen Business-PCs werden nach einigen Jahren oft günstig aus Firmenbeständen verkauft und sind für einen Homeserver ziemlich interessant. Sie sind kompakt, robust, vergleichsweise sparsam und liefern deutlich mehr Leistung, als man für viele typische Heimserver-Aufgaben tatsächlich benötigt.

Mein Modell hat sogar USB-C an der Front.

Also praktisch Enterprise-Klasse.

Fast.

Debian als Grundlage

Als Betriebssystem setze ich auf ein aktuelles Debian Linux.

Kein Desktop, keine grafische Oberfläche und möglichst wenig unnötiger Ballast. Der Server soll seinen Dienst tun und nicht hübsch aussehen.

Gebootet wird klassisch über GRUB, anschließend lande ich direkt auf einem schlanken Linux-System, das über die Shell verwaltet wird.

Das klingt für Einsteiger zunächst vielleicht etwas abschreckend. Tatsächlich ist es aber gerade für einen Server angenehm. Die Oberfläche ist immer gleich, die Konfiguration nachvollziehbar und viele Dinge lassen sich sauber dokumentieren.

Und wenn ich etwas kaputtmache, weiß ich wenigstens ziemlich genau, wer schuld ist.

Warum Docker?

Die einzelnen Dienste möchte ich möglichst nicht einfach wild direkt auf Debian installieren.

Stattdessen kommt Docker zum Einsatz.

Der Grundgedanke ist einfach: Anwendungen laufen in eigenen Containern und bleiben dadurch weitgehend voneinander getrennt. Das erleichtert Updates, Umzüge und Neuinstallationen und verhindert hoffentlich, dass das Grundsystem irgendwann aus einer Sammlung historisch gewachsener Abhängigkeiten besteht.

Ein Container lässt sich bei Bedarf entfernen und neu erstellen. Konfigurationen und Daten können getrennt abgelegt und gesichert werden.

Gerade bei einem Homeserver gefällt mir dieser Ansatz ziemlich gut, weil ich neue Dienste ausprobieren kann, ohne jedes Mal das komplette System umzubauen.

Und sechs Monate später möchte ich schließlich noch verstehen, warum ich etwas so eingerichtet habe.

Das ist erfahrungsgemäß ambitioniert genug.

Was soll auf dem Server laufen?

Ich möchte vor allem Dienste betreiben, die im Alltag tatsächlich einen Nutzen haben.

Dazu gehört zunächst Nextcloud für Dateien und Synchronisation zwischen verschiedenen Geräten.

Paperless soll langfristig dabei helfen, Dokumente zu digitalisieren und endlich ein bisschen Ordnung in Rechnungen, Schreiben und sonstigen Papierkram zu bringen.

AdGuard Home übernimmt DNS-Filterung im Heimnetz und kann dadurch unter anderem Werbung, Tracking-Domains und bestimmte unerwünschte Inhalte blockieren, bevor die Anfrage überhaupt das jeweilige Gerät erreicht.

Später werden wahrscheinlich weitere Dinge dazukommen – etwa Monitoring, Backuplösungen oder kleine Dienste, die mir heute noch gar nicht eingefallen sind.

Das ist bei Homeservern vermutlich ein Naturgesetz.

Man beginnt mit drei Containern und irgendwann braucht man eine Dokumentation, damit man noch weiß, was eigentlich alles läuft.

Und was macht dann das NAS?

Mein NAS bleibt natürlich Bestandteil der Umgebung.

Allerdings möchte ich die Aufgaben klarer verteilen.

Das NAS soll in erster Linie das tun, was es besonders gut kann: Daten speichern.

Der Dell übernimmt dagegen die eigentlichen Dienste und Anwendungen.

Damit hängt nicht mehr alles an einer einzigen Maschine. Wenn ich am Homeserver arbeite oder ihn neu aufsetzen muss, bleibt der Datenspeicher davon zunächst getrennt. Umgekehrt reißen Probleme am NAS nicht automatisch sämtliche Anwendungen mit.

Das ist kein Hochverfügbarkeitscluster und soll auch keines werden.

Aber eine vernünftige Trennung der Aufgaben ist auch zuhause kein schlechter Gedanke.

Warum nicht einfach alles in die Cloud?

Natürlich könnte ich viele dieser Dinge auch komplett an Google, Microsoft oder andere Anbieter auslagern.

Das wäre bequem.

Und bequem ist durchaus ein Argument.

Die Frage ist nur, wie viel Kontrolle man selbst behalten möchte.

Bei einem eigenen Server entscheide ich, welche Dienste laufen, wo meine Daten liegen, welche Geräte darauf zugreifen dürfen und wie die Umgebung aufgebaut ist.

Natürlich bedeutet das auch Verantwortung.

Updates müssen installiert werden. Backups müssen funktionieren. Sicherheit passiert nicht automatisch nur deshalb, weil irgendwo „Selfhosting“ draufsteht.

Wer auf all das keine Lust hat, ist mit einem professionellen Cloudanbieter möglicherweise besser bedient. Das muss jeder für sich selbst entscheiden.

Für mich gehört aber gerade dieser technische Teil zum Reiz des Projekts.

Der eigentliche Mehrwert: verstehen, was passiert

Einer der größten Vorteile ist für mich tatsächlich der Lerneffekt.

DNS, Linux, Docker, Speicher, Backups, Netzwerksegmentierung oder Zugriffsrechte sind plötzlich keine abstrakten Begriffe mehr.

Ich benutze diese Dinge tatsächlich.

Ich sehe, wie sie zusammenspielen.

Und ich merke ziemlich schnell, wenn ich etwas falsch verstanden habe.

Das ist mitunter lästig, aber ziemlich effektiv.

Gerade deshalb finde ich einen kleinen Homeserver auch für Hobbyanwender interessant. Man muss kein Rechenzentrum betreiben, um dabei eine Menge zu lernen.

Schritt für Schritt statt alles gleichzeitig

Der Plan für dieses Projekt ist bewusst unspektakulär.

Zuerst Debian sauber installieren und konfigurieren.

Danach Docker.

Dann die einzelnen Dienste nacheinander.

Erst wenn diese Basis stabil läuft, kommen weitere Themen dazu: Netzwerkstruktur, VLANs, Backups, Monitoring und zusätzliche Sicherheitsmaßnahmen.

Ich versuche bewusst, nicht alles gleichzeitig umzubauen.

Denn wenn man fünf Dinge auf einmal verändert und anschließend nichts mehr funktioniert, hat man immerhin fünf mögliche Ursachen.

Auf diesen Erkenntnisgewinn kann ich verzichten.

Also lieber Schritt für Schritt.

Fazit

Ein eigener Homeserver muss weder teuer noch übermäßig kompliziert sein.

Ein gebrauchter Business-Mini-PC, 16 GB RAM und ein solides Linux-System reichen für erstaunlich viele Aufgaben völlig aus.

Für mich liegt der eigentliche Reiz weniger darin, möglichst viel Technik anzuhäufen. Es geht darum, Dienste sinnvoll zu trennen, Daten unter eigener Kontrolle zu behalten und die eigene Infrastruktur besser zu verstehen.

Das Ziel ist kein Rechenzentrum im Keller.

Sondern ein kleiner, robuster Server, der zuverlässig seinen Job macht.

Und vermutlich irgendwann deutlich mehr Aufgaben übernimmt, als ursprünglich geplant waren. Aber am Ende (ich kenne mich ja), wirds ein Rechenzentrum. Nur eben in klein. Bestimmt 😉


Schreibe einen Kommentar

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