Tag 2 — OpenCloud 7, Dex OIDC und vollständiges Backup
Upgrade auf OpenCloud 7.0.0, Dex-OIDC-Broker mit Google und Apple, Nginx-Anpassungen, erstes vollständiges Backup und operative Dokumentation.
Einleitung
Tag 2 (22. Mai 2026) konzentriert sich auf den Authentifizierungs-Perimeter und die Reifung des am Vortag deployten OpenCloud-Stacks: Versions-Upgrade, OIDC-Broker mit Dex (Google und Apple), Nginx-Anpassungen, erstes vollständiges Backup und operative Dokumentation.
Das Erst-Deployment (Debian, Docker, TLS, getrennte Hostnames) wurde am 21. abgeschlossen; heute wird auf dieser Basis in Produktion unter cloud.km0digital.com weitergearbeitet.
Status
Zum Abschluss verifizierte Komponenten
- OpenCloud:
opencloudeu/opencloud-rolling:7.0.0auf127.0.0.1:9200. - Dex (OIDC):
ghcr.io/dexidp/dex:v2.41.1auf127.0.0.1:5556. - Nginx vhost:
/etc/nginx/sites-available/opencloud— TLS →/dex/+/. - OC_DOMAIN:
cloud.km0digital.commitINSECURE=false. - Dex-Issuer:
https://cloud.km0digital.com/dex— Connectors Google + Apple.
Übliche Checks: docker compose ps, nginx -t und HTTP-Header gegen die öffentliche Cloud-URL.
Architektur
Authentifizierung + Anwendung
Browser ── HTTPS :443 cloud.km0digital.com ── Nginx
├─ /dex/ → Dex 127.0.0.1:5556
├─ /login.html → /var/www/opencloud-auth/
└─ / → OpenCloud 127.0.0.1:9200
└─ Volumes opencloud_* + dex_dex-dataDie Unternehmenswebsite auf demselben Host läuft in einem anderen Virtual Host: km0digital.com → statischer Container auf Loopback.
Upgrade
OpenCloud 6.2.0 → 7.0.0
- Ziel war die Annäherung an den 7.0.1-Zweig; das Image 7.0.0 wurde als Tag angewendet und validiert (7.0.1 wurde nicht deployt, da nicht verfügbar oder nicht validiert).
- Variable
OC_DOCKER_TAG=7.0.0in/opt/opencloud/opencloud-compose/.env. - Korrektur in
opencloud.yamlRuntime: Eintragsharing.service_accountin OpenCloud 7.x erforderlich. - Kontrollierter Neustart:
docker compose pull && docker compose up -d. - Log-Review auf
fatal/error; Dienst in Betrieb gelassen.
OIDC
Multi-Provider mit Dex (Google + Apple)
Das ad-hoc-Experiment mit Keycloak (Nginx-Vorlagen unter keycloak*.conf nicht aktiviert) wurde zugunsten eines schlanken Dex-Brokers unter /opt/opencloud/dex/ verworfen:
- docker-compose.yml: Dex-Dienst, Volume
dex_dex-data, Veröffentlichung nur auf Loopback :5556. - config.yaml: Issuer, SQLite, OAuth2-Clients, Connectors.
- web/themes/km0/: Login-UI mit KM0-Branding (Logo, CSS, i18n CA/ES/EN).
- setup-apple.sh: erzeugt Apple-Client-JWT (~180 Tage).
OpenCloud nutzt externen Issuer (OC_OIDC_ISSUER → /dex, Client opencloud-web). alwaysShowLoginScreen: true erzwingt die Auswahl Google vs. Apple.
Öffentliche Einstiege
Zugangs-URLs
- cloud.km0digital.com/: OpenCloud-Web-Oberfläche.
- /dex/: OIDC-Issuer / Dex-Login.
- /login.html: statischer Google-/Apple-Selector.
https://cloud.km0digital.com/dex/callback. Apple-Credentials unter /opt/ — keine Secrets hier.Nginx
Integration im OpenCloud-vhost
- location /dex/: →
http://127.0.0.1:5556/dex/mit weitergeleiteten Headern für OIDC. - location = /login.html: statische Datei unter
/var/www/opencloud-auth/login.html. - location /: OpenCloud auf :9200 mit SSE, TUS und WebSockets von Tag 1.
Mit INSECURE=false und stabilem FQDN verlässt der Stack den gelockerten Labor-Modus.
Compose
DNS-Auflösung im Container
In external-proxy/opencloud.yml wurde extra_hosts: ${OC_DOMAIN}:host-gateway ergänzt, damit der Container den öffentlichen Hostnamen wie der Host auflöst. Ohne das können Login-Fehler nach Google-OAuth auftreten (access-denied oder inkonsistente Sitzungen).
Backup
Erste vollständige Kopie der Installation
Skript: /opt/opencloud/scripts/backup-opencloud-installation.sh. Erste Ausführung: 2026-05-22 19:51 → /opt/backup_opencloud_installation/20260522-195106/ mit Link latest.
- opt-opencloud/: vollständiger Baum
/opt/opencloud/. - host-nginx/: aktiver vhost + Repo-Vorlagen.
- letsencrypt/: TLS des Cloud-Hostnames.
- docker-volumes/: Tarballs
opencloud-data,opencloud-config,dex-data. - manifest/: Runtime-Snapshot und Backup-Log.
Vorfälle
Dokumentierte Symptome und Abhilfe
- GET .../photo/$value 404: kein Avatar hochgeladen — harmloses Konsolen-Rauschen.
- 502 auf alte URLs /signin/: veraltete Sitzung vor dem Dex-Schnitt — Site-Daten löschen oder privates Fenster.
- access-denied nach Google-Login: Whitelist in
role_assignmentoder DNS —driver: defaultoderextra_hostsnutzen. - Dex in Neustart-Schleife:
docker logsprüfen; Provider-JSON unter/opt/validieren.
Recherche
Heute nicht deployt
- Collabora / WOPI: Review von Office-Bearbeitung im Browser — vorerst nur Core; mögliches Addon später.
- Apache HTTP Server: bestätigt ungenutzt (nur Nginx). Apache Tika in Upstream-Docs nicht deployt.
- OpenCloud-Web-Branding: KM0-Overlay am 21. Mai zurückgenommen; KM0-Branding im Dex-Login bleibt.
Offen
Nächste Schritte
OpenCloud 7.0.1 prüfen, sobald das Image validiert ist, Apple Sign In abschließen falls nötig, Cron für das vollständige Backup einrichten und Rotation des administrativen Zugangs überdenken. Erkunden Sie die Services oder nehmen Sie Kontakt auf, wenn Sie mitarbeiten möchten.