Déployez Collabora CODE sur Kubernetes avec Helm

Au 10 octobre 2026, le registre de paquets amont indique que la version 1.3.0 du graphique est la plus récente. L'installation du graphique ne constitue qu'une partie du déploiement. Vous avez également besoin d'un nom d'hôte Collabora public, d'une entrée WOPI valide dans la liste blanche pour l'hôte de stockage de documents et d'une configuration d'entrée qui regroupe les requêtes pour chaque document sur le même pod. Le registre de paquets amont indique la version 1.3.0 du graphique au moment de la rédaction ; vérifiez le dépôt avant l'installation, car la version du graphique Helm et la version de l'image du conteneur CODE sont distinctes.

Cette procédure utilise le collabora/collabora-onlinegraphique officiel et un contrôleur d'entrée NGINX. Le fichier README du graphique contient également des exemples HAProxy ; les annotations d'entrée étant spécifiques à chaque contrôleur, utilisez l'exemple correspondant à votre contrôleur plutôt que de mélanger les annotations.

Que faut-il préparer en premier ?

  • Un cluster Kubernetes disposant des autorisations nécessaires pour créer un espace de noms, un déploiement, un service et un Ingress.
  • Helm 3 et un contrôleur d'entrée installé qui peut fournir HTTPS pour un nom d'hôte tel que office.example.com.
  • Le nom d'hôte public du client WOPI, tel que Nextcloud ou Seafile. C'est cet hôte que Collabora doit autoriser ; il ne s'agit pas du nom d'hôte de Collabora.
  • Secret Kubernetes pour les identifiants de la console d'administration Collabora. Ne conservez pas le mot de passe d'exemple du graphique et n'enregistrez aucun mot de passe réel dans un fichier de valeurs.

1. Ajoutez le dépôt officiel de graphiques et examinez la version.

Collabora publie son graphique depuis le dépôt en ligne du projet. Ajoutez-le, actualisez l'index local et examinez les métadonnées et les valeurs par défaut du graphique avant de l'installer :

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

La version du graphique identifie le package, et non nécessairement l'étiquette de l'image CODE. Vérifiez le dépôt d'images et l'étiquette dans les valeurs de la version, puis épinglez la version du graphique que vous avez examinée pour des mises à niveau reproductibles.

Créez un secret limité à un espace de noms en suivant votre procédure de gestion des secrets approuvée. Le graphique prend en charge un secret existant et des noms de clés configurables ; les noms de clés par défaut sont `<clé_clé_par_défaut>` usernameet `< passwordclé_clé_par_défaut>`. Vérifiez que le secret existe dans l' collaboraespace de noms avant l'installation.

2. Configurez l'hôte WOPI, l'entrée et les options de proxy

Créez un fichier my_values.yaml. Remplacez les deux noms d'hôtes d'exemple par vos domaines publics. La aliasgroupsvaleur identifie le client WOPI (par exemple, le serveur Seafile ou Nextcloud). L'hôte Ingress server_nameidentifie le service Collabora auquel accèdent les navigateurs des utilisateurs.

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

Cet exemple suit le modèle d'entrée NGINX documenté par Collabora : les requêtes sont hachées à l'aide du WOPISrcparamètre, et les délais d'expiration de lecture et d'envoi du proxy sont prolongés pour les sessions de documents. Vérifiez la compatibilité des noms d'annotations avec votre version d'ingress-controller. Si vous utilisez HAProxy, reportez-vous plutôt aux annotations HAProxy et à la configuration d'équilibrage de charge décrites dans le fichier README du graphique.

Les options ssl.enable=false`and` et `or` ssl.termination=truesont destinées à une architecture où le protocole TLS se termine au niveau du point d'entrée et où le trafic entre ce point et le pod est interne. Elles n'impliquent pas que le point de terminaison public doive utiliser HTTP. Conservez le nom d'hôte du point d'entrée en HTTPS et n'exposez pas directement le service HTTP du pod sur Internet. Activez ces options server_namelorsque Collabora se trouve derrière un proxy inverse ou ne peut pas déduire directement son nom d'hôte externe.

Pour plusieurs réplicas fixes, configurez-les replicaCountdélibérément et conservez l'affinité de session. Le fichier README en amont indique actuellement que HPA est désactivé car la mise à l'échelle peut perturber l'édition collaborative et le copier-coller. Un nombre de réplicas plus élevé ne garantit pas à lui seul un routage correct ; assurez-vous que votre entrée envoie les requêtes pour le même document au même pod.

3. Installez Collabora CODE

Installez la version depuis le dépôt officiel et attendez que le déploiement soit prêt :

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

Si vous mettez à jour une version existante, utilisez helm upgradele même nom de version, le même espace de noms et le même fichier de valeurs plutôt que de créer une deuxième version. Consultez les notes de version et les modifications apportées au graphique avant de mettre à niveau une instance de production.

Vérifiez que le pod est prêt et que l'Ingress indique l'hôte et l'adresse attendus. S'il reste en attente, consultez les événements et les journaux avant de modifier les paramètres de ressources.

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

Dimensionnez le processeur et la mémoire en fonction de votre charge de travail et de la capacité de votre cluster. Le fichier README du graphique fournit des exemples de requêtes et de limites, mais ne constitue pas une garantie pour chaque déploiement. Surveillez les ralentissements, les erreurs de mémoire insuffisante et les redémarrages.

4. Vérifier la découverte et la modification des documents

Une fois le DNS et le TLS activés, demandez le point de terminaison de découverte de Collabora via le nom d'hôte public :

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

Une réponse positive devrait contenir le fichier XML de découverte WOPI et non une page d'erreur d'entrée ou un avertissement de certificat. Configurez ensuite votre client WOPI avec la même URL publique Collabora et vérifiez que Collabora aliasgroupsinclut bien le nom d'hôte et le port HTTPS de ce client. La configuration exacte du client dépend du produit de stockage.

Ouvrez un document de test depuis le client WOPI et apportez-y une modification mineure. Vérifiez que l'éditeur se charge, qu'une seconde session de navigateur peut s'y connecter en cas de collaboration et que la modification est enregistrée sur le service de stockage. Ce test de bout en bout vérifie le DNS, le protocole TLS entrant, le routage des sessions, l'autorisation de l'hôte WOPI et le transfert de fichiers.

Hypothèses courantes à vérifier

  • Helm est installé, Collabora est donc prêt pour la production. Le graphique crée des ressources Kubernetes, mais le DNS, le TLS, l'autorisation des hôtes WOPI, le routage d'entrée et le dimensionnement des ressources dépendent toujours de votre cluster. Veuillez vérifier chaque élément ci-dessus.
  • « L’hôte d’entrée et l’hôte WOPI correspondent au même paramètre. » En réalité, ils diffèrent souvent : l’hôte d’entrée est l’adresse publique de Collabora ; l’hôte WOPI est le serveur de stockage. Indiquez chaque élément dans le champ approprié du graphique.
  • « Plus de répliques améliorent automatiquement la collaboration. » Le graphique en amont documente l’affinité de session et désactive actuellement HPA car la mise à l’échelle peut perturber l’édition collaborative. Commencez avec une seule réplique ou un nombre fixe et conservez l’affinité de routage.
  • Un court extrait XML peut être fourni comme configuration personnalisée. La valeur du graphique coolwsd_xml_contentremplace le fichier de configuration par défaut et requiert son contenu intégral. Privilégiez les valeurs dédiées du graphique pour les groupes d'alias et les paramètres, sauf si vous disposez d'une configuration XML complète et compatible avec la version.

Références officielles

Laisser un commentaire

Déployez Collabora CODE sur Kubernetes avec Helm

Déployez Collabora CODE sur Kubernetes avec Helm

Installez le graphique Helm officiel de Collabora, configurez l'accès WOPI et l'affinité d'entrée, et vérifiez le déploiement sans erreurs de configuration courantes.

Suivre un document Collabora vierge jusqu'à la couche défaillante

Suivre un document Collabora vierge jusqu'à la couche défaillante

Utilisez les requêtes du navigateur, les journaux WOPI et les vérifications de proxy ciblées pour déterminer pourquoi Collabora ouvre un document vierge et choisissez une solution adaptée aux éléments de preuve.

Activer la correction orthographique multilingue dans Collabora Online CODE

Activer la correction orthographique multilingue dans Collabora Online CODE

Configurez correctement les dictionnaires Docker de CODE et les passages de documents étiquetés afin que l'anglais, le français et les autres langues prises en charge bénéficient d'une correction orthographique appropriée.

Configurer le délai d'inactivité de Collabora pour les vues de documents actives

Configurer le délai d'inactivité de Collabora pour les vues de documents actives

Ajustez le seuil d'inactivité par vue dans coolwsd et distinguez-le de l'assombrissement des onglets en arrière-plan, du déchargement des documents, de la sauvegarde automatique et de l'expiration de la connexion.

Désactiver les vérifications de mise à jour du code Collabora et les connexions indésirables

Désactiver les vérifications de mise à jour du code Collabora et les connexions indésirables

Interrompez les vérifications de mise à jour du code planifiées, examinez les services distants optionnels et utilisez les contrôles réseau sortants sans interrompre l'édition des documents.

Connectez Seafile et Collabora avec l'URL WOPI correcte

Connectez Seafile et Collabora avec l'URL WOPI correcte

Activez l'édition sécurisée de documents dans Seafile en configurant l'URL de découverte de Collabora, le protocole HTTPS et l'accès WOPI pour votre déploiement.

Rétablir la fonction Copier-Coller entre Collabora et les applications de bureau

Rétablir la fonction Copier-Coller entre Collabora et les applications de bureau

Testez le presse-papiers système, ajustez les autorisations du navigateur et identifiez les cas où une intégration Collabora intégrée nécessite une modification de la politique iframe.

Rendre les polices personnalisées disponibles dans Collabora CODE Docker

Rendre les polices personnalisées disponibles dans Collabora CODE Docker

Montez les fichiers de polices dans Docker et le système de Collabora afin que les polices personnalisées apparaissent dans l'éditeur et s'affichent correctement dans les documents.

Restaurez les paramètres de Collabora CODE sans perdre les modifications de déploiement

Restaurez les paramètres de Collabora CODE sans perdre les modifications de déploiement

Sauvegardez coolwsd.xml et ses sources de déploiement, restaurez-les en toute sécurité et vérifiez le code avant que les utilisateurs ne reprennent l'édition.

Corrigez la vérification d'hôte WOPI de CODE en faisant correspondre l'origine de l'hôte.

Corrigez la vérification d'hôte WOPI de CODE en faisant correspondre l'origine de l'hôte.

Autorisez l'origine exacte Nextcloud ou autre WOPI dans CODE, puis vérifiez la liste blanche des hôtes actifs et distinguez-la de la restriction d'adresse IP source de Nextcloud.