
🌐 Auch auf: English · Français · Español
Die Motivation dahinter war von Anfang an doppelt: digitale Souveränität ermöglichen und das ganze Setup gleichzeitig als persönliche Lernspielwiese nutzen. 🚀Die ersten Installationen habe ich mit Ansible aufgesetzt. Ganz durchautomatisiert war die Pipeline allerdings nie; kleinere Anpassungen und Betriebs-Feintuning liefen weiterhin von Hand. 🔧Bisher hatte jede Nextcloud-Instanz ihr eigenes Playbook. Das hat funktioniert, aber mit der Zeit zeigten sich strukturelle Schwächen – vor allem, sobald synchrone oder zentrale Änderungen an beiden Umgebungen nötig wurden. ⚙️
Als Basis-Betriebssystem lief bislang Debian 12. 🐧
🎯 Konkrete technische Ziele des neuen Stacks
Die erneuerte Infrastruktur ist mehr als nur ein Distributionswechsel. Sie ist eine bewusste Weiterentwicklung der Architektur.
Die konkreten Ziele des neuen Setups:
- 🌐 Nginx mit HTTP/3- und QUIC-Unterstützung für zeitgemäße Performance auf der Transportschicht und eine zukunftssichere Auslieferung
- 🗄️ MariaDB als relationales Backend für planbare und performante Datenhaltung
- 🔥 Firewall auf iptables-Basis für deterministische Paketfilterung und explizite Kontrolle des Traffics
- 🔐 Let’s-Encrypt-Zertifikate für ein automatisiertes, kostenloses TLS-Lifecycle-Management
Ziel ist ein schlanker, schneller, kryptografisch sauberer Stack mit möglichst wenig unnötiger Angriffsfläche.
🔄 Migrationsstrategie: von Debian zu AlmaLinux
Gerade bereite ich eine komplette Erneuerung der Infrastruktur vor. Diesmal fiel die Wahl bewusst auf AlmaLinux, eine Red-Hat-kompatible Distribution.
Zum Teil wollte ich das Red-Hat-Ökosystem besser kennenlernen – vor allem aber hat mich SELinux gereizt. 🛡️
Vereinfacht gesagt legt SELinux eine zusätzliche Sicherheitsschicht über die klassischen Linux-Rechte.
Statt sich nur auf Benutzer- und Gruppenrechte zu verlassen, setzt es eine richtlinienbasierte Zugriffskontrolle durch: Dienste dürfen nur das tun, was ausdrücklich erlaubt ist. Selbst wenn ein Prozess kompromittiert wird, kann SELinux verhindern, dass er auf fremde Systemkomponenten zugreift.
Ich stecke schon ziemlich tief in der Migration – aber im Moment dreht sich alles um eins: testen, testen und nochmals testen. 🧪
📄 Collabora: von Handinstallationen zum Container
In früheren Setups habe ich die Collabora-Online-Integration immer von Hand installiert.
Im Produktivbetrieb bei den Vereinen sorgte das immer wieder für Reibung: Kompatibilitätsprobleme, instabiler Betrieb und der ständige Zwang, auf ältere Versionen auszuweichen. 😩
Irgendwann nervte dieser Dauer-Aufwand so sehr, dass ich sogar über eine kommerziell gehostete Nextcloud nachgedacht habe. 💸
Rein finanziell ist Managed Hosting inzwischen kaum noch teurer als ein eigener vServer.
Der eigentliche Unterschied liegt in Kontrolle, Flexibilität und architektonischer Freiheit.
Dazu kommt: Manche Nextcloud-Hoster zählen die gleichzeitig aktiven Collabora-Nutzer und verlangen Aufpreise, sobald bestimmte Schwellen überschritten sind – ein Modell, das schlecht zu ehrenamtlich getragener Infrastruktur passt. 🚫
🐳 Großer Fortschritt: Collabora-Deployment mit Podman
Heute gab es bei Collabora einen echten Durchbruch.
Auf Anraten von ChatGPT (ja … ich geb’s zu 😅) habe ich den Collabora-Dienst in ein eigenständiges Container-Deployment mit Podman umgezogen.
Nextcloud verbindet sich jetzt mit diesem externen Dienst-Endpunkt, statt die App intern zu betreiben.
Dieser Architekturansatz gilt allgemein als stabiler, wartungsfreundlicher und betrieblich sauberer als das klassische In-App-Modell. 🧱
Trotzdem muss dieses Setup noch gründlich geprüft werden.
Weitere Tests sind unvermeidlich – und parallel tauche ich tiefer in das Verhalten von SELinux in Container-Umgebungen ein. 🔍
⚙️ Stand bei Ansible und nächste Schritte
Die Ansible-Codebasis läuft bereits, ist aber noch lange nicht „fertig“. Mein aktueller Workflow ist bewusst iterativ:
- Den Nextcloud-Test-vServer plattmachen 💣
- Alles von Grund auf neu installieren 🧰
- Playbooks verfeinern 📜
- Und wieder von vorn 🔁
Diese Abriss-und-Neubau-Schleife ist Absicht – sie ist der schnellste Weg zu einem reproduzierbaren, deterministischen Infrastrukturzustand.
📦 Download: Ansible-Playbook (Beta)
Der aktuelle Stand des Ansible-Projekts ist bereits vollständig lauffähig und läuft in meinen Testumgebungen erfolgreich von Anfang bis Ende durch.
Bevor du es in deinem eigenen Setup einsetzt, musst du aber alle sensiblen und umgebungsspezifischen Werte anpassen
(z. B. Hostnamen, Domains, Zugangsdaten, Secrets, IP-Adressen).
Das aktuelle ZIP-Archiv des Ansible-Projekts kannst du hier herunterladen:
👉 Ansible-Nextcloud-Stack herunterladen (Beta)
Bitte beachte, dass sich diese Codebasis noch im Beta-Stadium befindet.
Die Playbooks funktionieren zwar, das Projekt wird aber noch aktiv weiterentwickelt und laufend verbessert.
Ich arbeite bereits an Verfeinerungen und Optimierungen und plane, in den nächsten Tagen eine aktualisierte Version zu veröffentlichen.
⚠️ Haftungsausschluss
Dieses Projekt wird so, wie es ist, bereitgestellt – ohne jegliche Gewährleistung.
Die Nutzung erfolgt ausschließlich auf eigene Verantwortung.
Ich empfehle dringend, die Playbooks zuerst in einer Nicht-Produktivumgebung zu testen, bevor du an einen produktiven Einsatz denkst.
Infrastructure as Code. Community first. Voll souverän. 🏴☠️




