Collabora CODE mit Helm auf Kubernetes bereitstellen

Stand 10. Oktober 2026 ist im Upstream-Paketregister Chart-Version 1.3.0 als aktuellste Version aufgeführt. Die Installation des Charts ist jedoch nur ein Teil der notwendigen Bereitstellung. Sie benötigen außerdem einen öffentlichen Collabora-Hostnamen, einen gültigen Eintrag in der WOPI-Zulassungsliste für den Dokumentenspeicher-Host sowie eine Ingress-Konfiguration, die Anfragen für jedes Dokument auf demselben Pod verarbeitet. Zum Zeitpunkt der Erstellung dieses Dokuments ist im Upstream-Paketregister Chart-Version 1.3.0 angegeben. Bitte überprüfen Sie das Repository vor der Installation, da die Helm-Chart-Version und die Version des CODE-Container-Images unterschiedliche Werte darstellen.

Dieses Verfahren verwendet das offizielle collabora/collabora-onlineChart und einen NGINX Ingress Controller. Die README-Datei des Charts enthält außerdem HAProxy-Beispiele; Ingress-Annotationen sind controllerspezifisch, verwenden Sie daher das Beispiel für Ihren installierten Controller und vermeiden Sie es, Annotationen zu mischen.

Was zuerst vorbereitet werden sollte

  • Ein Kubernetes-Cluster mit der Berechtigung, einen Namespace, ein Deployment, einen Service und einen Ingress zu erstellen.
  • Helm 3 und ein installierter Ingress-Controller, der HTTPS für einen Hostnamen wie z. B. bereitstellen kann office.example.com.
  • Der öffentliche Hostname des WOPI-Clients, z. B. Nextcloud oder Seafile. Dies ist der Host, den Collabora zulassen muss; es ist nicht der Hostname von Collabora.
  • Ein Kubernetes-Secret für die Anmeldeinformationen der Collabora-Administrationskonsole. Speichern Sie nicht das Beispielpasswort des Charts und tragen Sie kein echtes Passwort in eine Wertedatei ein.

1. Fügen Sie das offizielle Chart-Repository hinzu und überprüfen Sie die Veröffentlichung.

Collabora veröffentlicht sein Chart aus dem Online-Repository des Projekts. Fügen Sie es hinzu, aktualisieren Sie den lokalen Index und überprüfen Sie die Chart-Metadaten und Standardwerte vor der Installation:

helm repo add collabora https://collaboraonline.github.io/online/
helm repo update
helm show chart collabora/collabora-online
helm show values collabora/collabora-online

Die Chart-Version identifiziert das Paket, nicht unbedingt das CODE-Image-Tag. Überprüfen Sie das Image-Repository und das Tag in den Release-Werten und legen Sie dann die von Ihnen überprüfte Chart-Version für wiederholbare Aktualisierungen fest.

Erstellen Sie ein Namespace-bezogenes Secret mithilfe Ihres genehmigten Secret-Management-Workflows. Die Werte des Diagramms unterstützen ein vorhandenes Secret und konfigurierbare Schlüsselnamen; die Standardschlüsselnamen sind usernameund password. Stellen Sie sicher, dass das Secret im collaboraNamespace vorhanden ist, bevor Sie es installieren.

2. WOPI-Host-, Ingress- und Proxy-Optionen festlegen

Erstellen Sie eine neue Konfigurationsdatei my_values.yaml. Ersetzen Sie die beiden Beispiel-Hostnamen durch Ihre tatsächlichen öffentlichen Domains. Der aliasgroupsWert identifiziert den WOPI-Client (z. B. den Seafile- oder Nextcloud-Server). Der Ingress-Host und server_nameder Wert identifizieren den Collabora-Dienst, den die Browser der Benutzer erreichen.

replicaCount: 1

ingress:
  enabled: true
  className: nginx
  annotations:
    nginx.ingress.kubernetes.io/upstream-hash-by: "$arg_WOPISrc"
    nginx.ingress.kubernetes.io/proxy-body-size: "0"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
  hosts:
    - host: office.example.com
      paths:
        - path: /
          pathType: ImplementationSpecific

autoscaling:
  enabled: false

collabora:
  aliasgroups:
    - host: "https://files.example.com:443"
  extra_params: --o:ssl.enable=false --o:ssl.termination=true
  server_name: office.example.com:443
  existingSecret:
    enabled: true
    secretName: collabora-admin
    usernameKey: username
    passwordKey: password

Dieses Beispiel folgt dem in Collabora dokumentierten NGINX-Ingress-Muster: Anfragen werden mithilfe des WOPISrcParameters gehasht, und die Timeouts für Lesen und Senden des Proxys werden für Dokumentsitzungen verlängert. Überprüfen Sie die Annotationsnamen anhand Ihrer Ingress-Controller-Version. Wenn Sie HAProxy verwenden, nutzen Sie stattdessen die HAProxy-Annotationen und die Balancing-Konfiguration aus der Chart-README.

Die Optionen `--ingress` ssl.enable=falseund ssl.termination=true`--pod` sind für ein Design vorgesehen, bei dem TLS am Ingress terminiert und der Datenverkehr vom Ingress zum Pod intern ist. Sie bedeuten nicht, dass der öffentliche Endpunkt HTTP verwenden soll. Der Hostname des Ingress muss HTTPS verwenden, und der unverschlüsselte HTTP-Dienst des Pods darf nicht direkt im Internet zugänglich sein. Verwenden Sie diese Option, server_namewenn Collabora hinter einem Reverse-Proxy läuft oder seinen externen Hostnamen nicht direkt ermitteln kann.

Bei mehreren festen Replikaten muss replicaCountdie Sitzungsaffinität bewusst eingestellt und beibehalten werden. Laut der README-Datei des Upstream-Projekts ist HPA derzeit deaktiviert, da die Skalierung die gemeinsame Bearbeitung und das Kopieren/Einfügen beeinträchtigen kann. Eine höhere Replikatanzahl allein gewährleistet kein korrektes Routing; stellen Sie sicher, dass Ihr Ingress Anfragen für dasselbe Dokument an denselben Pod sendet.

3. Installieren Sie Collabora CODE

Installieren Sie die Version aus dem offiziellen Repository und warten Sie, bis die Bereitstellung abgeschlossen ist:

helm install --create-namespace \
  --namespace collabora \
  collabora-online collabora/collabora-online \
  --values my_values.yaml

kubectl get pods -n collabora
kubectl get ingress -n collabora

Wenn Sie eine bestehende Version aktualisieren, verwenden Sie helm upgradedenselben Versionsnamen, Namespace und dieselbe Wertedatei, anstatt eine zweite Version zu erstellen. Überprüfen Sie die Versionshinweise und die gerenderten Änderungen des Charts, bevor Sie eine Produktionsinstanz aktualisieren.

Prüfen Sie, ob der Pod bereit ist und der Ingress den erwarteten Host und die Adresse meldet. Falls der Status weiterhin ausstehend ist, überprüfen Sie Ereignisse und Protokolle, bevor Sie die Ressourceneinstellungen ändern.

kubectl describe pods -n collabora
kubectl logs -n collabora deployment/<deployment-name>

Dimensionieren Sie CPU und Arbeitsspeicher entsprechend Ihrer Arbeitslast und Clusterkapazität. Die README-Datei der Tabelle enthält Beispielanforderungen und -grenzen, stellt aber keine Garantie für jede Bereitstellung dar. Achten Sie auf Drosselung, Speichermangel und Neustarts.

4. Überprüfung der Ermittlungs- und Dokumentenbearbeitung

Nachdem DNS und TLS aktiviert sind, fordern Sie den Discovery-Endpunkt von Collabora über den öffentlichen Hostnamen an:

curl -fsS https://office.example.com/hosting/discovery

Eine erfolgreiche Antwort sollte die WOPI-Discovery-XML-Datei enthalten und keine Fehlerseite oder Zertifikatswarnung. Konfigurieren Sie anschließend Ihren WOPI-Client mit derselben öffentlichen Collabora-URL und stellen Sie sicher, dass Collabora aliasgroupsden HTTPS-Hostnamen und -Port dieses Clients enthält. Die genauen Client-Einstellungen hängen vom verwendeten Speicherprodukt ab.

Öffnen Sie ein Testdokument im WOPI-Client und nehmen Sie eine kleine Änderung vor. Prüfen Sie, ob der Editor geladen wird, ob bei Bedarf eine zweite Browsersitzung zur Zusammenarbeit hinzugeschaltet werden kann und ob die Änderung im Speicherdienst gespeichert wird. Dieser End-to-End-Test prüft DNS, eingehendes TLS, Sitzungsrouting, WOPI-Host-Autorisierung und Dateiübertragung.

Zu überprüfende gängige Annahmen

  • „Helm ist installiert, Collabora ist also produktionsbereit.“ Das Diagramm erstellt Kubernetes-Ressourcen, aber DNS, TLS, WOPI-Host-Autorisierung, Ingress-Routing und Ressourcendimensionierung hängen weiterhin von Ihrem Cluster ab. Überprüfen Sie jeden der oben genannten Punkte.
  • „Ingress-Host und WOPI-Host sind die gleichen Einstellungen.“ Das stimmt nicht ganz: Der Ingress-Host ist die öffentliche Adresse von Collabora, der WOPI-Host der Speicherserver. Tragen Sie jeden Eintrag in das richtige Diagrammfeld ein.
  • „Mehr Replikate verbessern automatisch die Zusammenarbeit.“ Das übergeordnete Diagramm dokumentiert die Sitzungsaffinität und deaktiviert derzeit HPA, da die Skalierung die gemeinsame Bearbeitung beeinträchtigen kann. Beginnen Sie mit einem Replikat oder einer festgelegten Anzahl und erhalten Sie die Routing-Affinität bei.
  • „Als benutzerdefinierte Konfiguration kann ein kleines XML-Fragment angegeben werden.“ Der Wert des Diagramms coolwsd_xml_contentersetzt die Standardkonfigurationsdatei und erfordert den vollständigen Dateiinhalt. Verwenden Sie vorzugsweise die im Diagramm festgelegten Werte für Aliasgruppen und Parameter, es sei denn, Sie verfügen über eine vollständige, versionskompatible XML-Konfiguration.

Offizielle Referenzen

Einen Kommentar hinterlassen

Collabora CODE mit Helm auf Kubernetes bereitstellen

Collabora CODE mit Helm auf Kubernetes bereitstellen

Installieren Sie das offizielle Collabora Helm-Chart, konfigurieren Sie den WOPI-Zugriff und die Ingress-Affinität und überprüfen Sie die Bereitstellung auf häufige Einrichtungsfehler.

Verfolgen Sie ein leeres Collabora-Dokument bis zur fehlerhaften Ebene.

Verfolgen Sie ein leeres Collabora-Dokument bis zur fehlerhaften Ebene.

Anhand von Browseranfragen, WOPI-Protokollen und gezielten Proxy-Prüfungen lässt sich herausfinden, warum Collabora ein leeres Dokument öffnet – und eine Lösung auswählen, die zu den Erkenntnissen passt.

Mehrsprachige Rechtschreibprüfung in Collabora Online aktivieren (CODE)

Mehrsprachige Rechtschreibprüfung in Collabora Online aktivieren (CODE)

Konfigurieren Sie die CODE Docker-Wörterbücher und taggen Sie Dokumentpassagen korrekt, damit Englisch, Französisch und andere unterstützte Sprachen die richtige Rechtschreibprüfung erhalten.

Leerlauf-Timer für aktive Dokumentansichten in Collabora einstellen

Leerlauf-Timer für aktive Dokumentansichten in Collabora einstellen

Passen Sie den Inaktivitätsschwellenwert pro Ansicht in coolwsd an und unterscheiden Sie ihn von der Abdunkelung von Hintergrund-Tabs, dem Entladen von Dokumenten, dem automatischen Speichern und dem Ablauf der Anmeldung.

Collabora CODE-Updateprüfungen und unerwünschte Verbindungen deaktivieren

Collabora CODE-Updateprüfungen und unerwünschte Verbindungen deaktivieren

Stoppen Sie die geplanten CODE-Update-Prüfungen, überprüfen Sie optionale Remote-Dienste und verwenden Sie ausgehende Netzwerksteuerungen, ohne die Dokumentbearbeitung zu beeinträchtigen.

Verbinden Sie Seafile und Collabora mit der korrekten WOPI-URL.

Verbinden Sie Seafile und Collabora mit der korrekten WOPI-URL.

Aktivieren Sie die sichere Dokumentenbearbeitung in Seafile, indem Sie die Discovery-URL, HTTPS und den WOPI-Zugriff von Collabora für Ihre Bereitstellung konfigurieren.

Wiederherstellung der Kopier- und Einfügefunktion zwischen Collabora und Desktop-Apps

Wiederherstellung der Kopier- und Einfügefunktion zwischen Collabora und Desktop-Apps

Testen Sie die Systemzwischenablage, passen Sie die Browserberechtigungen an und ermitteln Sie, wann eine eingebettete Collabora-Integration eine Änderung der iFrame-Richtlinie erfordert.

Benutzerdefinierte Schriftarten in Collabora CODE Docker verfügbar machen

Benutzerdefinierte Schriftarten in Collabora CODE Docker verfügbar machen

Binden Sie Schriftartdateien in Docker und Collaboras Systemplate ein, damit benutzerdefinierte Schriftarten im Editor angezeigt und in Dokumenten korrekt dargestellt werden.

Collabora CODE-Einstellungen wiederherstellen, ohne Bereitstellungsänderungen zu verlieren

Collabora CODE-Einstellungen wiederherstellen, ohne Bereitstellungsänderungen zu verlieren

Sichern Sie die Datei coolwsd.xml und ihre Bereitstellungsquellen, stellen Sie sie sicher wieder her und überprüfen Sie den CODE, bevor die Benutzer die Bearbeitung wieder aufnehmen.

Beheben Sie den WOPI-Host-Check von CODE, indem Sie den Hostursprung abgleichen.

Beheben Sie den WOPI-Host-Check von CODE, indem Sie den Hostursprung abgleichen.

Erlauben Sie den genauen Ursprung von Nextcloud oder einer anderen WOPI-Instanz im CODE, überprüfen Sie dann die aktive Host-Zulassungsliste und unterscheiden Sie diese von der Quell-IP-Beschränkung von Nextcloud.