guest@muellerchen:~/k3s-homelab/apps/nextcloud$ cat *.yaml

Nextcloud

Dateien & Sync — die eigene Cloud, ohne dass irgendwer sonst mitliest.

nextcloud-stack.svg
BrowserHTTPSTraefik IngressMiddleware: Security-HeaderMiddleware: CalDAV/CardDAV-RedirectHTTPEIN PODnextcloudnextcloud-cronSidecar, alle 5 Min.app-Volume10 Gi, Longhorndata-Volume1 TiB · NFS 10.50.50.20/mnt/RAID5/NEXTCLOUDMariaDBStatefulSet, 20 Gi LonghornRedisCache/Locking, ohne Persistenz
  • Läuft als zwei Container in einem Pod: der Webserver (Apache/PHP), daneben ein Sidecar, der in einer Endlosschleife alle 5 Minuten cron.php antreten lässt.
  • Zwei komplett unterschiedliche Volumes: der App-Code liegt auf einer kleinen 10-GiB-Longhorn-PVC, die eigentlichen Nutzerdaten aber auf einem 1 TiB großen NFS-Share vom Storage-Server — Code und Datenberg haben einfach unterschiedliche Anforderungen.
  • MariaDB und Redis laufen als eigene Komponenten daneben, nicht im selben Pod. Redis dabei ganz ohne Persistenz (--save "" --appendonly no) — reiner Cache, nichts, was überleben müsste.
  • Zwei Traefik-Middlewares zusätzlich zum reinen Routing: Security-Header (HSTS & Co.) und eine automatische Weiterleitung für CalDAV/CardDAV-Clients.