k8s-and-chill/docs/nextcloud-infrastructure-transparency_de.md
Felix Wolf fcda89f094 docs: add Nextcloud infrastructure transparency guide
Provides a comprehensive overview of the Nextcloud service setup. Explains data residency, technical architecture for reliability, data safety guarantees with multi-region backups, and the specific technologies utilized.

Also details infrastructure costs, privacy considerations, and recovery plans for different incident types to ensure user data integrity and availability.
2026-04-04 17:14:40 +02:00

87 lines
6.3 KiB
Markdown

# Nextcloud: Datensicherheit & Infrastruktur-Transparenz
Dies ist eine kurze Anleitung, die zeigt, wie ich alles eingerichtet habe, wo eure Daten tatsaechlich liegen und was passiert, wenn etwas schiefgeht. Mein Hauptziel ist es sicherzustellen, dass eure Dateien **niemals dauerhaft verloren gehen**, selbst wenn der Dienst mal kurzzeitig offline ist.
## 1. Wo liegen die Daten?
Ich verwende ein Multi-Region-Setup in Europa, damit eure Dateien und Einstellungen nicht in einem einzigen Gebaeude festsitzen.
| **Datentyp** | **Primaerer Standort** | **Infrastruktur** | **Datenschutz** |
| :--- | :--- | :--- | :--- |
| **Eure Dateien** (Fotos etc.) | Nuernberg, Deutschland | S3 Object Storage (NBG1) | EU (DSGVO) |
| **Einstellungen & Freigaben** | Nuernberg, Deutschland | Replizierter PostgreSQL-Cluster | EU (DSGVO) |
| **Notfall-Datei-Backups** | Helsinki, Finnland | Storage Box Vault (HEL1) | EU (DSGVO) |
| **Datenbank-Backups** | Falkenstein, Deutschland | S3 Object Storage (FSN1) | EU (DSGVO) |
## 2. Technisches Setup & Zuverlaessigkeit
Ich verwende einen modernen "Cloud-Native"-Stack, um alles stabil zu halten:
* **3-Node-Server-Cluster:** Die Nextcloud-App laeuft auf drei verschiedenen Server-Nodes. Ich halte immer mindestens zwei aktive Kopien am Laufen. Wenn ein Server abstuerzt, leitet das System eure Verbindung automatisch auf einen funktionierenden um.
* **S3-Speicher-Redundanz:** Eure Dateien werden mittels "Erasure Coding" gespeichert. Das bedeutet, sie werden in Fragmente aufgeteilt und auf viele physische Festplatten verteilt. Das System kann den gleichzeitigen Ausfall von drei Festplatten verkraften, ohne ein einziges Byte eurer Daten zu verlieren.
* **SQL-Datenbank-Replikation:** Eure Kontoeinstellungen und Kalender werden von einem PostgreSQL-Cluster verwaltet. Dieser wird ueber mehrere Volumes gespiegelt, sodass ein einzelner Festplattenausfall euch nicht aus eurem Konto aussperrt.
## 3. Die "Niemals unwiederbringlich verloren"-Garantie
Ich garantiere keine 100%ige Verfuegbarkeit (die Seite kann fuer Wartungsarbeiten oder bei einem groesseren Rechenzentrumsproblem offline gehen), aber ich befolge eine 3-Regionen-Sicherheitsregel, um Datenverlust zu verhindern:
* **Taegliche Synchronisation nach Finnland:** Alle 24 Stunden spiegelt das System automatisch alle Dateien vom Nuernberger Speicher auf eine separate **Storage Box** in Helsinki.
* **Datenbank-Dumps:** Jeden Tag exportiere ich einen komprimierten SQL-Dump der Datenbank und speichere ihn in einem anderen S3-Bucket in Falkenstein.
* **Unveraenderbare Snapshots:** Der Backup-Vault in Helsinki verwendet "Snapshots". Das sind schreibgeschuetzte Versionen der Vergangenheit. Wenn ein Fehler versehentlich etwas loescht, kann ich den Speicher auf den Zustand von gestern "zuruecksetzen".
## 4. Technologien, die ich verwende
Falls ihr neugierig seid, welche konkreten Tools ich zum Betrieb verwende, hier ist der Tech-Stack:
* [**Nextcloud**](https://nextcloud.com/): Die zentrale Kollaborationsplattform fuer eure Dateien, Kontakte und Kalender.
* [**Kubernetes**](https://kubernetes.io/): Das "Gehirn", das meinen 3-Node-Cluster verwaltet und sicherstellt, dass die Apps weiterlaufen.
* [**PostgreSQL**](https://www.postgresql.org/): Die Hochleistungs-Datenbank-Engine, die alle Kontoeinstellungen und Metadaten speichert.
* [**Hetzner**](https://www.hetzner.com/): Der deutsche Cloud-Anbieter, bei dem alle physischen Server stehen.
* [**Object Storage (S3)**](https://www.hetzner.com/cloud/object-storage/): Der spezielle Hochverfuegbarkeits-Speicherdienst fuer eure eigentlichen Dateien in Nuernberg und Backups in Falkenstein.
* [**Storage Box**](https://www.hetzner.com/storage/storage-box/): Der unabhaengige Speicher-Vault in Helsinki fuer die taeglichen Datei-Spiegelungen und Snapshots.
## 5. Infrastrukturkosten (monatlich)
Die folgende Tabelle zeigt die gesamten monatlichen Kosten fuer das komplette Setup. Dies sind die Plattformkosten fuer alle zusammen, nicht pro Person.
**Hinweis zu den Serverkosten:** Ich uebernehme die Serverkosten selbst, da ich den Cluster auch fuer andere persoenliche Projekte nutze.
| **Komponente** | **Beschreibung** | **Kosten (ca.)** |
| :--- | :--- | :--- |
| **Server (Nodes)** | 3x Cloud-Instanzen (**CAX11 ARM64**) | \~13,50 EUR |
| **PostgreSQL-Volumes** | Hochgeschwindigkeits-Blockspeicher fuer Datenbank-Replikation | \~2,00 EUR |
| **S3 Object Storage** | Primaerspeicher (NBG1) & DB-Backups (FSN1) | \~7,72 EUR\* |
| **Storage Box** | 1 TB Backup-Vault in Helsinki (BX11) | \~3,81 EUR |
| **GESAMT** | **Kombinierte Plattformkosten** | **\~27,03 EUR** |
*\*Der S3-Grundpreis beinhaltet das erste 1 TB Speicher und 1 TB Egress-Traffic. Bei Ueberschreitung gelten nutzungsbasierte Preise (ca. 7,74 EUR pro zusaetzlichem TB).*
> **Hinweis zur Performance:** Ich evaluiere derzeit, ob die **CAX11 ARM64**-Instanzen fuer unsere spezifischen Anforderungen ausreichend sind. Falls das System bei starker Nutzung langsam wirkt, werde ich diese in Zukunft moeglicherweise auf groessere Instanzen upgraden.
## 6. Datenschutz & Sicherheit
* **Souveraene Cloud:** Alles bleibt in der EU. Ich verwende keine US-basierten Unternehmen (wie AWS oder Google) zur Datenspeicherung, wodurch die Daten dem US CLOUD Act entzogen bleiben.
* **Admin-Zugriff:** Derzeit werden die Daten "at rest" ohne serverseitige Verschluesselung gespeichert. Das macht das System schneller und einfacher zu reparieren, bedeutet aber, dass ich (als Admin) technisch gesehen die Dateien im Backend einsehen kann.
* **Ende-zu-Ende-Privatsphaere:** Wenn ihr extrem vertrauliche Dokumente habt, empfehle ich, diese auf eurem Computer zu verschluesseln (z.B. mit Cryptomator), bevor ihr sie hochladet.
## 7. Was passiert, wenn...?
| **Ereignis** | **Was ihr seht** | **Mein Wiederherstellungsplan** |
| :--- | :--- | :--- |
| **Ein einzelner Server faellt aus** | Nichts / Minimale Verzoegerung | Automatische Umleitung auf einen funktionierenden Server-Node. |
| **Ihr loescht versehentlich eine Datei** | Sie ist weg | Ich kann versuchen, sie aus dem 24h-Helsinki-Snapshot-Vault wiederherzustellen. |
| **Groessere Rechenzentrums-Katastrophe** | Seite geht offline | Ich baue das Setup in einer neuen Region mithilfe der SQL-Dumps und Datei-Spiegelungen neu auf. |
*Ich aktualisiere dieses Dokument, wenn ich die Hardware oder Backup-Routine aendere. Letzte Aktualisierung: April 2026.*