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.
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.
office.example.com.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.
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.
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.
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.
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.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.
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.
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.
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.
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.
Aktivieren Sie die sichere Dokumentenbearbeitung in Seafile, indem Sie die Discovery-URL, HTTPS und den WOPI-Zugriff von Collabora für Ihre Bereitstellung konfigurieren.
Testen Sie die Systemzwischenablage, passen Sie die Browserberechtigungen an und ermitteln Sie, wann eine eingebettete Collabora-Integration eine Änderung der iFrame-Richtlinie erfordert.
Binden Sie Schriftartdateien in Docker und Collaboras Systemplate ein, damit benutzerdefinierte Schriftarten im Editor angezeigt und in Dokumenten korrekt dargestellt werden.
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.
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.