Wdrażanie Collabora CODE na Kubernetes z Helm

Od 10 października 2026 r. rejestr pakietów nadrzędnych wymienia wersję 1.3.0 programu Chart jako najnowszą wersję. Instalacja programu Chart to tylko część działającego wdrożenia. Potrzebna jest również publiczna nazwa hosta Collabora, prawidłowy wpis na liście dozwolonych WOPI dla hosta magazynu dokumentów oraz konfiguracja ingress, która przechowuje żądania dla każdego dokumentu w tym samym kontenerze. W momencie pisania tego tekstu rejestr pakietów nadrzędnych wymienia wersję 1.3.0 programu Chart; przed instalacją sprawdź repozytorium, ponieważ wersja programu Helm Chart i wersja obrazu kontenera CODE to oddzielne wartości.

Ta procedura wykorzystuje oficjalny collabora/collabora-onlinewykres i kontroler NGINX Ingress. Plik README wykresu zawiera również przykłady HAProxy; adnotacje ingress są specyficzne dla kontrolera, więc użyj przykładu dla zainstalowanego kontrolera, zamiast mieszać adnotacje.

Co przygotować w pierwszej kolejności

  • Klaster Kubernetes z uprawnieniami do tworzenia przestrzeni nazw, wdrażania, usługi i ruchu przychodzącego.
  • Helm 3 i zainstalowany kontroler wejściowy, który może zapewnić protokół HTTPS dla nazwy hosta, takiej jak office.example.com.
  • Publiczna nazwa hosta klienta WOPI, taka jak Nextcloud lub Seafile. To host, na który Collabora musi zezwolić; nie jest to nazwa hosta Collabora.
  • Sekret Kubernetes dla danych logowania do konsoli administracyjnej Collabora. Nie przechowuj przykładowego hasła do wykresu ani nie wprowadzaj prawdziwego hasła w pliku wartości.

1. Dodaj oficjalne repozytorium wykresów i sprawdź wydanie

Collabora publikuje swój wykres z internetowego repozytorium projektu. Dodaj go, odśwież indeks lokalny i sprawdź metadane wykresu oraz wartości domyślne przed instalacją:

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

Wersja wykresu identyfikuje pakiet, niekoniecznie tag obrazu CODE. Sprawdź repozytorium obrazów i tag w wartościach wydania, a następnie przypnij sprawdzoną wersję wykresu, aby móc ją ponownie zaktualizować.

Utwórz sekret o zasięgu przestrzeni nazw, korzystając z zatwierdzonego procesu zarządzania sekretami. Wartości na wykresie obsługują istniejący sekret i konfigurowalne nazwy kluczy; domyślne nazwy kluczy to usernamei . Przed instalacją passwordsprawdź, czy sekret istnieje w przestrzeni nazw.collabora

2. Ustaw opcje hosta, wejścia i serwera proxy WOPI

Utwórz my_values.yaml. Zastąp obie przykładowe nazwy hostów swoimi rzeczywistymi domenami publicznymi. Wartość aliasgroupsidentyfikuje klienta WOPI (na przykład serwer Seafile lub Nextcloud). Host Ingress server_nameidentyfikuje usługę Collabora, do której docierają przeglądarki użytkowników.

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

Ten przykład jest zgodny z udokumentowanym przez Collabora wzorcem NGINX dla ingressu: żądania są haszowane za pomocą WOPISrcparametru, a limity czasu odczytu i wysyłania proxy są wydłużane dla sesji dokumentów. Potwierdź nazwy adnotacji z wersją kontrolera ingressu. Jeśli używasz HAProxy, zamiast tego użyj adnotacji HAProxy i konfiguracji równoważenia z pliku README wykresu.

Opcje ssl.enable=falsei ssl.termination=truedotyczą projektu, w którym TLS kończy się na wejściu, a ruch z wejścia do kontenera jest wewnętrzny. Nie oznacza to, że publiczny punkt końcowy powinien używać protokołu HTTP. Zachowaj nazwę hosta wejścia w protokole HTTPS i nie udostępniaj usługi zwykłego protokołu HTTP kontenera bezpośrednio w internecie. Ustaw tę opcję, server_namegdy Collabora znajduje się za odwrotnym serwerem proxy lub nie może bezpośrednio wywnioskować swojej zewnętrznej nazwy hosta.

W przypadku wielu stałych replik, ustaw je replicaCountcelowo i zachowaj powinowactwo sesji. Plik README źródłowy informuje obecnie, że HPA jest wyłączone, ponieważ skalowanie może zakłócać edycję grupową i kopiowanie/wklejanie. Większa liczba replik sama w sobie nie zapewnia prawidłowego routingu; upewnij się, że ruch przychodzący wysyła żądania dotyczące tego samego dokumentu do tego samego kontenera.

3. Zainstaluj Collabora CODE

Zainstaluj wersję z oficjalnego repozytorium i poczekaj, aż wdrożenie będzie gotowe:

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

Jeśli aktualizujesz istniejącą wersję, użyj helm upgradetej samej nazwy wersji, przestrzeni nazw i pliku wartości, zamiast tworzyć drugą wersję. Przed uaktualnieniem instancji produkcyjnej zapoznaj się z notatkami dotyczącymi wersji i renderowanymi zmianami na wykresie.

Sprawdź, czy kontener jest gotowy i czy Ingress zgłasza oczekiwanego hosta i adres. Jeśli nadal oczekuje, sprawdź zdarzenia i logi przed zmianą ustawień zasobów:

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

Dopasuj rozmiar procesora i pamięci do obciążenia i pojemności klastra. Tabela README zawiera przykładowe żądania i limity, a nie gwarantuje ich skuteczności dla każdego wdrożenia. Uważaj na dławienie, wyłączanie pamięci operacyjnej (OOM) i ponowne uruchamianie.

4. Zweryfikuj odkrycia i edycję dokumentów

Po aktywowaniu protokołów DNS i TLS należy zażądać punktu końcowego wykrywania Collabora za pośrednictwem publicznej nazwy hosta:

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

Pomyślna odpowiedź powinna zawierać kod XML wykrywania WOPI, a nie stronę błędu wejściowego lub ostrzeżenie o certyfikacie. Następnie skonfiguruj klienta WOPI z tym samym publicznym adresem URL Collabora i upewnij się, że adres URL Collabora aliasgroupszawiera nazwę hosta HTTPS i port tego klienta. Dokładne ustawienia klienta zależą od produktu pamięci masowej.

Otwórz dokument testowy z poziomu klienta WOPI i wprowadź niewielką zmianę. Sprawdź, czy edytor się załadował. Jeśli wymagana jest współpraca, można dołączyć drugą sesję przeglądarki, a zmiana zostanie zapisana z powrotem w usłudze pamięci masowej. To kompleksowe sprawdzenie obejmuje DNS, TLS (ingressing TLS), routing sesji, autoryzację hosta WOPI oraz transfer plików.

Typowe założenia do sprawdzenia

  • „Helm zainstalowany, więc Collabora jest gotowa do produkcji”. Wykres tworzy zasoby Kubernetes, ale DNS, TLS, autoryzacja hosta WOPI, routing przychodzący i rozmiar zasobów nadal zależą od klastra. Sprawdź każdą powyższą pozycję.
  • „Host wejściowy i host WOPI to to samo ustawienie”. Często się różnią: host wejściowy to adres publiczny Collabora; host WOPI to serwer pamięci masowej. Umieść każdy z nich w odpowiednim polu wykresu.
  • „Więcej replik automatycznie usprawnia współpracę”. Wykres upstream dokumentuje powinowactwo sesji i obecnie wyłącza HPA, ponieważ skalowanie może zakłócać wspólną edycję. Zacznij od jednej repliki lub celowo ustalonej liczby i zachowaj powinowactwo trasowania.
  • „Można dostarczyć niewielki fragment XML jako konfigurację niestandardową”. Wartość wykresu coolwsd_xml_contentzastępuje domyślny plik konfiguracyjny i wymaga pełnej zawartości pliku. Preferuj dedykowane wartości wykresu dla grup aliasów i parametrów, chyba że posiadasz kompletną, zgodną z wersją konfigurację XML.

Oficjalne źródła

Zostaw komentarz

Postaw Collabora na Nginx bez naruszania WebSockets

Postaw Collabora na Nginx bez naruszania WebSockets

Skonfiguruj zakończenie protokołu Nginx TLS, trasy Collabora i nagłówki WebSocket, a następnie przetestuj publiczne punkty końcowe przed otwarciem rzeczywistych dokumentów.

Zatrzymaj sesje edycji KODU, aby nie kończyły się po 10 minutach

Zatrzymaj sesje edycji KODU, aby nie kończyły się po 10 minutach

Prześledź 10-minutowe rozłączenie CODE z serwerem proxy, modułem równoważenia obciążenia lub ścieżką WebSocket, a następnie popraw limit czasu i sprawdź, czy sesja pozostaje połączona.

Wdrażanie Collabora CODE na Kubernetes z Helm

Wdrażanie Collabora CODE na Kubernetes z Helm

Zainstaluj oficjalną tabelę Collabora Helm, skonfiguruj dostęp do WOPI i powinowactwo wejściowe, a następnie zweryfikuj wdrożenie bez typowych błędów konfiguracji.

Prześledź pusty dokument Collabora do warstwy, która nie działa

Prześledź pusty dokument Collabora do warstwy, która nie działa

Skorzystaj z żądań przeglądarki, dzienników WOPI i ukierunkowanych kontroli serwerów proxy, aby dowiedzieć się, dlaczego Collabora otwiera pusty dokument — i wybierz poprawkę, która pasuje do dowodów.

Włącz wielojęzyczną kontrolę pisowni w Collabora Online CODE

Włącz wielojęzyczną kontrolę pisowni w Collabora Online CODE

Skonfiguruj słowniki CODE Docker i poprawnie oznacz fragmenty dokumentu, aby zapewnić prawidłową korektę pisowni w języku angielskim, francuskim i innych obsługiwanych językach.

Ustaw licznik czasu bezczynności Collabora dla aktywnych widoków dokumentów

Ustaw licznik czasu bezczynności Collabora dla aktywnych widoków dokumentów

Dostosuj próg bezczynności dla każdego widoku w coolwsd i odróżnij go od przyciemniania tła karty, usuwania dokumentów, automatycznego zapisywania i wygaśnięcia logowania.

Wyłącz sprawdzanie aktualizacji kodu Collabora i niechciane połączenia

Wyłącz sprawdzanie aktualizacji kodu Collabora i niechciane połączenia

Zatrzymaj zaplanowane sprawdzanie aktualizacji KODU, przejrzyj opcjonalne usługi zdalne i skorzystaj z kontroli sieci wychodzącej bez przerywania edycji dokumentu.

Połącz Seafile i Collabora z poprawnym adresem URL WOPI

Połącz Seafile i Collabora z poprawnym adresem URL WOPI

Włącz bezpieczne edytowanie dokumentów w Seafile, konfigurując adres URL wykrywania, protokół HTTPS i dostęp WOPI Collabora dla swojego wdrożenia.

Przywróć kopiowanie i wklejanie między aplikacjami Collabora i komputerowymi

Przywróć kopiowanie i wklejanie między aplikacjami Collabora i komputerowymi

Przetestuj schowek systemowy, dostosuj uprawnienia przeglądarki i zidentyfikuj, kiedy wbudowana integracja Collabora wymaga zmiany zasad dotyczących ramek iframe.

Udostępnij niestandardowe czcionki w Collabora CODE Docker

Udostępnij niestandardowe czcionki w Collabora CODE Docker

Zamontuj pliki czcionek w systemie Docker i Collabora, aby niestandardowe czcionki były wyświetlane w edytorze i poprawnie renderowane w dokumentach.