Seafile peut ouvrir les fichiers bureautiques compatibles dans Collabora Online via WOPI, un protocole permettant l'échange d'informations et de contenu entre le serveur de stockage et l'éditeur en ligne. La configuration optimale dépend de l'environnement d'exécution de Seafile, de la gestion du protocole HTTPS et des proxys inverses, et de l'emplacement de Collabora (sur le même réseau Docker ou sur un serveur distinct).
Ce guide suit les instructions d'intégration Collabora du manuel d'administration Seafile (documentation Seafile 14.0, consultée le 6 octobre 2026). Les fichiers Docker Compose et les étiquettes d'image exacts peuvent varier ; utilisez donc les fichiers correspondant à votre version de Seafile installée plutôt que de copier la configuration Compose complète d'un ancien tutoriel.
Quel déploiement choisir ?
| Option | Meilleure adaptation | Compromis principal |
| Conteneur Collabora à côté de Seafile | Installation Docker mono-nœud utilisant les fichiers Compose fournis par Seafile | Chemin le plus rapide et réseau de nom de service interne, mais les deux services partagent le processeur, la mémoire et la fenêtre de maintenance d'un même hôte. |
| Collabora sur un hôte distinct | Service Collabora existant, planification de capacité séparée ou déploiement multi-hôtes | Évolutivité et mises à niveau indépendantes, mais nécessite un point de terminaison HTTPS public, un proxy inverse et un accès réseau fiable entre Collabora et Seafile. |
Pour un nouveau déploiement Docker mono-nœud, utilisez le modèle fourni par Seafile collabora.yml. Pour un serveur Collabora autonome existant ou un cluster, suivez les instructions d'installation de Collabora et configurez l'URL de découverte de Seafile sur l'adresse externe de Collabora. Le guide d'intégration de Seafile requiert l'utilisation du protocole HTTPS et précise qu'un nœud Collabora distinct doit utiliser HTTPS sur le port standard 443, avec un proxy inverse vers le service Collabora sur le port 9980. Consultez le guide d'intégration en ligne Seafile Collabora et la documentation d'installation de Collabora .
Avant de commencer
- Vérifiez que votre serveur Seafile est accessible via HTTPS avec un certificat valide. Le guide de Seafile exige explicitement l'utilisation du protocole HTTPS pour cette intégration.
- Identifiez votre type de déploiement : installation Docker mono-nœud actuelle, installation binaire ou configuration multi-hôtes/cluster. La composition des noms de fichiers et le routage du proxy dépendent de ce choix.
- Choisissez un nom d'hôte Collabora, par exemple `<nom_hôte>`
office.example.com, si Collabora est accessible indépendamment par les navigateurs des utilisateurs. Assurez-vous que son DNS et son certificat TLS fonctionnent avant de configurer Seafile.
- Disposez des droits d'administrateur sur Seafile
seahub_settings.pyet le fichier Docker .env, le cas échéant. Stockez le mot de passe d'administrateur Collabora dans un fichier d'environnement protégé et ne le publiez ni dans des captures d'écran, ni dans les journaux, ni dans un dépôt public.
La documentation de Seafile décrit les étapes Docker sur le même hôte pour la configuration Compose prise en charge. Si votre proxy inverse, votre projet Compose ou votre réseau diffèrent, considérez les exemples ci-dessous comme un point de départ et vérifiez les noms de service et les routes dans votre propre déploiement.
Option A : Ajouter Collabora à un déploiement Docker Seafile
1. Ajoutez le fichier officiel Collabora Compose
Depuis le répertoire contenant votre configuration Seafile Compose, téléchargez le fichier Collabora correspondant à votre version de Seafile. Pour Seafile 14.0 (voir le manuel actuel), le chemin d'accès est le suivant :
wget https://manual.seafile.com/14.0/repo/docker/collabora.yml
Ouvrez .envet ajoutez collabora.ymlà la COMPOSE_FILEliste existante. Conservez toutes les entrées actuelles ; par exemple, une installation qui répertorie déjà le serveur Seafile, Caddy et les fichiers SeaDoc ajoutera le fichier Collabora plutôt que de remplacer la liste :
COMPOSE_FILE='seafile-server.yml,caddy.yml,seadoc.yml,collabora.yml'
Votre liste réelle peut différer. Ne supprimez pas le proxy inverse actuel ni d'autres services pour correspondre à cet exemple. Le fichier Compose définit les paramètres de conteneur et de réseau attendus par le déploiement intégré de Seafile.
2. Définir les valeurs d'environnement de Collabora
Ajoutez les variables documentées par Seafile au même .envfichier. L'exemple actuel utilise le collabora/codenom de l'image dynamique ; les équipes qui ont besoin de mises à niveau reproductibles doivent sélectionner une étiquette de version Collabora compatible avec leur environnement et la figer. Consultez les notes de version et testez les mises à niveau avant de modifier un service d'édition en fonctionnement.
COLLABORA_IMAGE=collabora/code
COLLABORA_PORT=6232
COLLABORA_USERNAME=admin
COLLABORA_PASSWORD=replace-with-a-long-random-secret
COLLABORA_ENABLE_ADMIN_CONSOLE=true
COLLABORA_REMOTE_FONT=
COLLABORA_ENABLE_FILE_LOGGING=false
La valeur du port correspond au port hôte utilisé par l'exemple Compose de Seafile ; Collabora écoute sur le port 9980 à l'intérieur du conteneur. Maintenez la console d'administration privée ou limitez l'accès au niveau du proxy/pare-feu. Le nom d'utilisateur et le mot de passe ci-dessus sont des exemples ; choisissez des identifiants uniques et protégez le fichier. Si votre organisation n'a pas besoin de la console d'administration, suivez les instructions du modèle Compose pour la désactiver.
3. Configurer la connexion WOPI de Seafile
Modifiez seahub_settings.pyet ajoutez les paramètres d'intégration Collabora. Pour les conteneurs situés sur le même réseau Compose, l'exemple actuel de Seafile utilise le nom de service internecollabora :
OFFICE_SERVER_TYPE = 'CollaboraOffice'
ENABLE_OFFICE_WEB_APP = True
OFFICE_WEB_APP_BASE_URL = 'http://collabora:9980/hosting/discovery'
WOPI_ACCESS_TOKEN_EXPIRATION = 30 * 60
OFFICE_PREVIEW_MAX_SIZE = 30 * 1024 * 1024
ENABLE_OFFICE_WEB_APP_EDIT = True
OFFICE_WEB_APP_FILE_EXTENSION = (
'odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx',
'ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx'
)
OFFICE_WEB_APP_EDIT_FILE_EXTENSION = (
'odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx',
'ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx'
)
L'URL de découverte interne sert à la communication entre Seafile et Collabora sur le réseau Docker partagé. Les navigateurs des utilisateurs doivent également pouvoir accéder à l'adresse Collabora fournie par l'intégration. Suivez la configuration officielle du fichier Compose et du proxy afin que la route accessible via le navigateur soit publiée de manière sécurisée ; un nom d'hôte réservé au conteneur et résolu uniquement à l'intérieur de Docker n'est pas une URL utilisable publiquement.
Limitez les extensions de fichiers aux formats nécessaires à vos utilisateurs et pris en charge par votre version de Collabora. La taille de prévisualisation affichée ci-dessus correspond à 30 Mio dans l'exemple actuel de Seafile ; pour les documents plus volumineux, il peut être nécessaire d'ajuster cette limite en tenant compte de l'impact sur la mémoire et les performances.
4. Démarrer ou mettre à jour les services
Validez la configuration Compose, puis démarrez la pile depuis son répertoire de projet :
docker compose config
docker compose up -d
Le guide de Seafile recommande de redémarrer Seafile après toute modification seahub_settings.py. Dans le cas des déploiements Docker, docker compose up -dla configuration Compose mise à jour est appliquée ; si la modification n'est pas prise en compte, redémarrez le service Seafile en utilisant la méthode appropriée à votre version. Évitez une commande de redémarrage généralisée, docker compose downsauf si vous prévoyez d'arrêter l'ensemble de la pile.
Option B : Configurer Seafile pour qu’il utilise Collabora sur un autre hôte
Installez et exposez Collabora en suivant ses instructions officielles de déploiement et de configuration du proxy inverse. Utilisez HTTPS sur le point de terminaison public et redirigez les requêtes vers le port interne 9980 de Collabora. Vérifiez que l'hôte Seafile peut joindre Collabora et que Collabora peut joindre l'adresse HTTPS de Seafile ; ces deux voies sont essentielles au chargement des documents WOPI.
Conservez les autres paramètres Seafile de la section précédente, mais modifiez le paramètre de découverte pour indiquer le nom d'hôte réel de Collabora :
OFFICE_WEB_APP_BASE_URL = 'https://office.example.com/hosting/discovery'
Utilisez votre nom d'hôte et votre certificat réels. N'incluez pas le nom de service Docker interne, sauf si Seafile et Collabora partagent réellement un réseau où ce nom est résolu. Un hôte distinct vous offre un contrôle indépendant des ressources et de la maintenance, mais implique la gestion du DNS, du pare-feu, des certificats et du proxy inverse. Pour un cluster Seafile, respectez la configuration du proxy et de la découverte de services du cluster au lieu de supposer que le réseau Compose à nœud unique s'applique.
Comment vérifier que la connexion fonctionne ?
- Ouvrez le
https://office.example.com/hosting/discoveryserveur depuis un navigateur si vous utilisez un hôte distinct. Si vous utilisez le même hôte, testez la route publique Collabora publiée par votre proxy. Une réponse positive confirme que le point de terminaison de découverte est accessible, mais ne prouve pas à elle seule que l'édition WOPI fonctionne.
- Connectez-vous à Seafile et ouvrez un petit fichier non sensible
.docx, .xlsxou .odtun fichier inclus dans vos listes d'extensions configurées.
- Vérifiez que le fichier s'ouvre dans Collabora, effectuez une modification sans conséquence, attendez la fin de l'enregistrement et fermez l'éditeur.
- Rouvrez le fichier dans Seafile et vérifiez que la modification a bien été prise en compte. Pour une vérification plus approfondie, téléchargez une copie et confirmez le contenu attendu.
Effectuez le test avec un fichier que vous pouvez modifier sans risque. Un éditeur visible sans enregistrement réussi ne constitue qu'une réussite partielle : WOPI doit pouvoir récupérer le fichier et renvoyer la version modifiée à Seafile.
Pannes courantes et quel côté vérifier
| Symptôme | Premiers contrôles |
| Seafile signale que le bureau en ligne est indisponible. | Vérifiez l' OFFICE_SERVER_TYPEURL ENABLE_OFFICE_WEB_APPde découverte et si Seahub a été redémarré après la modification des paramètres. |
| La découverte fonctionne depuis le serveur, mais le navigateur affiche un éditeur vide. | Vérifiez que le navigateur peut accéder au nom d'hôte public de Collabora via HTTPS et que les chemins de proxy et les certificats TLS sont corrects. Un nom d'hôte Docker interne n'est pas automatiquement accessible au navigateur de l'utilisateur. |
| L'éditeur se charge, mais le fichier ne peut être ni récupéré ni enregistré. | Consultez les journaux de Collabora et de Seafile, leurs accès réseau mutuels, la confiance du certificat HTTPS et les requêtes WOPI. Seafile documente le flux de requêtes : Seahub crée l’iframe, le navigateur charge Collabora et Collabora demande le contenu du fichier à Seahub. |
| Seuls certains fichiers bureautiques s'ouvrent | Vérifiez les tuples d'extension de prévisualisation et d'édition, la limite de taille de prévisualisation de Seafile et les formats pris en charge par la version de Collabora installée. |
Pour les journaux Docker, consultez les documents Seafile docker logs seafile-collabora. Vérifiez les journaux Seafile/Seahub en parallèle des résultats de Collabora et corrélez les requêtes au niveau du proxy. N'activez pas la journalisation détaillée ou la journalisation de fichiers indéfiniment si cela expose des URL de documents ou d'autres informations opérationnelles sensibles. Le guide de dépannage officiel de Collabora fournit des vérifications supplémentaires pour les erreurs côté Collabora.
Quel choix est le plus judicieux ?
Choisissez le conteneur intégré si votre installation Seafile repose sur un seul hôte Docker, que vous souhaitez utiliser la configuration Compose prise en charge et que le partage du processeur et de la mémoire avec Seafile ne vous pose pas de problème. Optez pour un hôte Collabora distinct si vous en utilisez déjà un, si vous avez besoin de capacités indépendantes ou de calendriers de mise à niveau, ou si vous intégrez une architecture multi-hôtes et que vous pouvez garantir la fiabilité du protocole HTTPS et du routage réseau. Dans tous les cas, suivez la documentation correspondant à votre version de Seafile, sécurisez les points d'accès accessibles via navigateur et vérifiez l'ouverture et l'enregistrement des documents avant d'autoriser les utilisateurs à les modifier en ligne.