Ein eigener Linux-Server, der Dienste wie Nextcloud, Collabora, Immich, einen DLNA Server und weitere Services bereitstellt – bei mir zu Hause, ohne Cloud-Abhängigkeiten, ohne monatliche Abos, ohne die Frage, wer meine Fotos scannt und Dokumente indiziert. Souveräne IT eben. So mein Ziel.
Im ersten Teil haben wir Hardware ausgewählt und den Mini-PC aufgebaut – leistungsfähig, leise und sparsam genug für den 24/7-Betrieb.
Jetzt geht es an die Konfiguration: Welches Betriebssystem? Wie binde ich Storage an und wie richte ich Virtuelle Maschinen (VMs) ein? ChatGPT begleitet mich dabei als „Co-Pilot“ – und wie sich zeigen wird, ist das ein zweischneidiges Schwert.
Die Wahl des Betriebssystems
Zuerst die Auswahl des passenden Betriebssystems: Mit meinen Vorgaben schlägt mir die KI tatsächlich meine Favoriten vor – Proxmox, TrueNAS, Unraid und einen vollständigen Selbstbau. Letzteren sortiere ich sofort aus. Ich will in meiner Freizeit nicht zum Vollzeit-System-Administrator mutieren, zumal die Profis vieles deutlich besser beherrschen als der Freizeit-Admin.
Wichtig ist für mich vor allem die Effizienz: Was 24/7 läuft, darf im Idle-Modus nicht viel Strom verbrauchen. Dazu kommt die einfache Konfiguration und sehr wichtig die Möglichkeit fertige Apps als Docker Images nutzen zu können. Final auch Security: Wer sich schon einmal aktiv Gedanken gemacht hat, wie viele wichtige Daten heute nur noch digital vorhanden sind, kennt die Gedanken vermutlich. Von den digitalen Fotoalben über wichtige Dokumente bis hin zu Unterlagen für Versicherungen und Steuererklärung – bei so vielen privaten und auch sensiblen Daten sind Sicherheit und Backup zentrale Parameter.
Final entscheide ich mich für Proxmox VE, vor allem weil mich die Option, LXC-Container zu nutzen, sehr reizt. Auch so benötigt Proxmox als Hypervisor selbst nur wenig Ressourcen, die Software ist ausgesprochen professionell, mit dem Web-Frontend lassen sich die meisten Admin-Aufgaben auch ohne Konsole erledigen und wenn nicht, dann erlaubt mir der Debian Unterbau, auch mal tief ins System einzugreifen. Für mich die perfekte Wahl.

Storage einrichten: Viele Optionen, eine Falle
Zwei SATA-SSDs sollen für alle Apps als Storage genutzt werden – und hier gibt es nicht nur viele unterschiedliche Optionen, sondern auch sehr viele Wünsche, die erfüllt werden müssen. ChatGPT liefert wieder gute Vorarbeit und stellt CIFS, NFS, VirtioFS, Mount bind und sogar einen eigenen Storage Service zur Diskussion.
Ich mag diesen Dialog. Es ist fast wie ein Gespräch mit einem erfahrenen Kollegen, bei dem man verschiedene Ansätze abwägen kann. Die KI erklärt Vor- und Nachteile strukturiert, ich kann Rückfragen stellen, Szenarien durchspielen.
Doch dann kommt der Moment, wo das gute Gefühl, sagen wir rückblickend einmal, dem Entsetzen weicht …
Die BTRFS-Falle
Bei der Auswahl des Dateisystems entscheide ich mich nach „intensiver Beratung“ für BTRFS, ChatGPT liefert viele Vorteile und eigentlich keine wirklichen Nachteile. Doch weit gefehlt, das war keine gute Entscheidung, wie die Praxis glücklicherweise sehr früh zeigen wird. Früh genug, dass nur wenige Daten vom Backup wiederhergestellt werden müssen.
Was war passiert? Mehrere Container müssen gleichzeitig auf die Daten zugreifen – und genau das verträgt BTRFS nicht. Das Dateisystem war schon kurz nach dem Start korrumpiert und die Daten waren verloren.
Da ich BTRFS bis dahin nicht kannte, hätte ich diese Information schon gerne für die Entscheidung gehabt. Natürlich hatte ich ChatGPT nicht explizit nach den Risiken paralleler Schreibzugriffe gefragt – und mit einem vollständigeren Prompt hätte mich die KI vermutlich besser beraten. Für mich ist das ein klassisches „Hinterher ist man immer klüger“-Phänomen.
Aber: Der Mehrwert von Erfahrung ist ja gerade, dass man vorher abwägt und es gar nicht erst zum „Hinterher“ kommt. Aus meinem Use-Case-Szenario war eigentlich klar ersichtlich, dass es zu parallelen Schreibzugriffen kommen würde. Ein erfahrener Kollege hätte mich hier gewarnt und ein anderes Dateisystem empfohlen.
Zwei Seiten der KI-Medaille
Hier zeigen sich für mich zwei wichtige Facetten beim Einsatz der KI als Projektpartner:
Die positive Seite
Ich stelle Fragen zu Optionen, bekomme verständliche Erklärungen strukturiert aufbereitet und kann dann bewusst entscheiden. Das ist Vibe Coding / Engineering im besten Sinne – die KI als Erklärbär und Sparringspartner.
Die Schattenseite
Schwierig wird es, wenn man sich in einer Technologie gar nicht auskennt und meint, sich zusammen mit der KI das Thema erschließen zu können. Ein LLM „denkt“ NICHT wie ein erfahrener Administrator / Entwickler. Zugegeben, ein Sprachmodell denkt natürlich nicht im klassischen Sinne, sondern sagt nur die wahrscheinlichste Antwort voraus; Aber OK, lassen wir das mal außen vor. Die KI präsentiert Optionen, erklärt Features – aber sie antizipiert nicht die kritischen Fragen, die ein Experte stellen würde. Ein menschlicher Senior-Administrator hätte vermutlich gefragt: „Mehrere Container? Parallele Zugriffe?“ und wäre dann zum Schluß gekommen „Dann nimm besser kein BTRFS„.
Die erste VM: Parameter verstehen lernen
Auch beim Aufsetzen der VMs gibt es Positives zu berichten, allerdings auch wieder ungewünschte Nebeneffekte. Ich verwende Debian Linux als minimales System – kein Desktop, nur das Nötigste. Beim Erstellen der VM in Proxmox begegnen mir eine ganze Reihe von Einstellungen: Cores vs. Sockets? Welche Disk-Technologie? Welches Disk-Format? Cache-Settings?
Hier komme ich zusammen mit der KI schnell voran und die erste VM läuft, Debian ist installiert. ChatGPT war hier zunächst ein guter Lernbegleiter. Ich verstehe die Parameter, kann informierte Entscheidungen treffen. Das ist genau die Stärke der KI: Optionen erklären, Kontext liefern, Verständnis ermöglichen. Aber auch hier hat die Medaille ihre Kehrseite:
Der Boot-Crash: Eine kritische Lektion
Das Fiasko beginnt harmlos: Immich braucht mehr Speicherplatz, also füge ich der VM eine zweite Disk nur für die Daten hinzu. Partitionieren, formatieren, in die System-Konfiguration eintragen. Alles schnell erledigt. Ich will einen kleinen Test machen und starte die VM neu. Autsch, das war nicht gut. Der Server bzw. die Virtuelle Maschine kommt gar nicht mehr hoch.
Was war passiert? Es gab ein Problem, die neue Festplatte einzubinden und in der Konfiguration fehlte leider das Flag nofail. Ohne dieses Flag blockiert der Boot-Prozess komplett, wenn eine Disk nicht verfügbar ist. Und weil ich bei der Installation keinen Root-Zugang vorbereitet hatte, kam ich auch nicht an eine Recovery-Shell. Als Ergebnis durfte ich die Maschine neu installieren. Dramatisch war das nicht, aber ärgerlich allemal.
Die wichtigste Erkenntnis: nofail ist kein Nice-to-have, sondern bisweilen sehr wichtig und bei einer Virtuellen Maschine sollte man nicht auf einen expliziten root Account verzichten.
Und genau hier liegt für mich wieder ein Schwachpunkt der KI-Beratung: ChatGPT hatte sauber erklärt, welche Parameter ich verwenden kann, um eine Disk einzubinden. Genau die feinen Details zur Syntax sind es , die ich nicht im Kopf behalten will: Wo kommt ein Leerzeichen, ein Komma, ein Doppelpunkt hin; wie binde ich ein NFS Laufwerk ein?
Bei solchen Details hilft die KI enorm! Allerdings wurden Hinweise, die für ein robustes System wichtig sind, wieder erst auf Nachfrage gegeben. Welcher VIBE Coder weiß denn die kritischen Fragen, bevor etwas zu Bruch gegangen ist?
Die pragmatische Lösung: Physical Disk Passthrough
Nach diesen Erfahrungen überdenke ich die Storage-Strategie und reiche eine der beiden SSD einfach komplett in den Container für Immich durch. ChatGPT hatte verschiedene Ansätze vorgeschlagen – VirtioFS, CIFS/NFS, eigener Storage Service.
Für mich fehlten hier oftmals Hinweise, die für das Einsatzszenario wichtig waren und damit scheiterten einige Versuche in der Praxis. Manchmal waren es sofort offensichtliche Probleme, dass man z.B. die Zugriffsrechte kaum in den Griff bekam. In anderen Fällen hatte ich schlicht Sicherheitsbedenken, zu riskieren „Löcher vom Container zur Virtualisierung-Schicht zu bohren“. Hier bin ich im Chat mit der KI auch an meine Grenzen gestoßen, den richtigen Prompt zu formulieren, damit alle Kriterien berücksichtigt sind.
Immerhin hat die KI hier viel geholfen und geduldig Fragen beantwortet und Szenarien durchgespielt und immer wieder die Sicherheit unterschiedlicher Optionen bewertet – ich hoffe mal, dass ich nie erfahren werde, ob sie dabei richtig lag 😉
Fazit: Erkenntnisse zum Vibe Engineering
Nach dieser Phase des Projekts zeichnet sich für mich folgendes Bild ab:
Wo mich der Einsatz von KI überzeugt
Parameter, Syntax und Optionen verstehen
Die Erklärungen zu Details & Einstellungen sowie technische Trade-offs waren ausgesprochen hilfreich und sehr oft auch präzise. Generative KI ist ein ausgezeichneter Erklärbär für etablierte Technologien.
Dazu hat es mir auch sehr geholfen, die richtige Optionen inklusive korrekter Syntax von der KI zu erhalten. Dies hat mir einiges an Zeit erspart.
Strukturierte Dialoge
Das Durchspielen verschiedener Ansätze im Dialog – z.B. CIFS vs. NFS vs. VirtioFS – war wertvoll. Man kann Rückfragen stellen, Szenarien durchdenken und kann informierte Entscheidungen treffen.
Schnelle Iteration
Bei Problemen kann man Fehlermeldungen direkt an die KI geben und bekommt meist sinnvolle Lösungsansätze.
Wo ich die Arbeit des Co-Piloten kritisch bewerte
Fehlende Risikobewertung
BTRFS wurde als „modernes Dateisystem mit tollen Features“ präsentiert, ohne auf die Einschränkungen bei parallelen Zugriffen hinzuweisen. Kritische Hinweise wurden nicht proaktiv gegeben.
Die Grenzen des Promptings: Wenn zu viele Anforderungen zusammenkommen
Eine Schwäche in der Arbeit mit einem LLM zeigte sich, wenn mehrere Anforderungen gleichzeitig erfüllt werden mussten: Beim Einbinden der Festplatten hatte ich zum Beispiel mehrere Ziele: Performance, Sicherheit/Isolation, Robustheit, Effizienz und noch mehr. ChatGPT berücksichtigte bei seinen Vorschlägen oft nur einen Teil der Wünsche.
Das größere Problem: Nachfragen half nicht. Bei jedem „Ja, aber was ist mit…?“ beginnt ChatGPT von vorne, berücksichtigte den neuen Aspekt, vergaß aber dafür andere.
Die bessere Strategie: Die KI für Teilaspekte nutzen (z.B. „Erkläre mir BTRFS-Einschränkungen“), aber die Gesamtlösung selbst zusammendenken. Nur werden dann die Chats sehr schlecht leserlich und man findet später kaum noch den roten Faden, warum man sich so entschieden hat.
Bevorzugung „moderner“ bzw *populärer* Lösungen
VirtioFS oder gar ein dedizierte Storage-Service – alles wurde als elegant präsentiert, ohne die praktische Komplexität ausreichend zu betonen. Die KI tendierte für mein Dafürhalten zu neueren Technologien. Ich vermute es sind eben die Themen, die auf reddit und Stackoverflow viel diskutiert werden. Und das macht die KI leider auch dann, wenn einfachere Ansätze besser passen.
Fehlende Antizipation von Problemen
Die KI erklärt gut den Standardablauf bzw. die Wege, die besonders oft im Netz zu finden sind. Sie liefert aber im Regelfall keine Antworten, wie sie ein erfahrener Administrator geben würde, der potenzielle Fallstricke proaktiv anspricht.
Unabhängig von den sachlichen Themen
Den Dialog zu den unterschiedlichen Themen führt ChatGPT angenehm und geschickt. Eine bisweilen geradezu euphorische Wortwahl und immer wieder plakatives Lob der KI: „Sehr gute Überlegung – und du sprichst einen der wichtigsten Punkte an …“ empfinde ich zunächst als sehr angenehm und sogar motivierend.
Irgendwann fällt es dann doch auf 🙂 und mittlerweile schätze ich mehr die Sprachassistenten, die diese unterschwellige Beeinflussung zumindest weniger deutlich zeigen.
Wie geht es weiter?
Im nächsten Teil geht es vermutlich um echtes Vibe Coding. In der Tat habe ich auch eine Flask Web-App mit ChatGPT programmiert, mit der ich vom Handy aus die Container einfach mit einem Klick starten und stoppen kann…
Weitere Ressourcen:
- Teil 1: Hardware-Auswahl und Aufbau
- Teil 3: Docker, Immich und Backup-Strategien (coming soon)
