Collabora est une suite bureautique en ligne basée sur LibreOffice avec édition collaborative, qui prend en charge tous les formats principaux de documents, feuilles de calcul et fichiers de présentation et fonctionne dans tous les navigateurs modernes.
Cette installation de Collabora se fait via Docker avec au préalable un Nextcloud et un NGINX installés en standalone. Lest’s Encrypt sera également utilisé ici.
Prérequis
Dans mon cas j’ai plusieurs domaines et sous-domaines :
- monDomaine.fr : Le nom de domaine principal qui pointe vers un message de bienvenue dans /home/user/www/index.html.
- cloud.mondomaine.fr : Le dous-domaine pour accéder à Nextcloud.
- office.mondomaine.fr : Le sous-domaine pour accéder à Collabora via le container Docker.
Ces sous domaines sont tous opérationnel au niveau des DNS.
Notes : J’ai eu des problèmes avec Collabora, je soupçonne un problème de DNS avec une création de sous domaine trop récente lors de mes tests.
Collabora et Docker
La commande Docker ci dessous va télécharger et exécuter le container collabora/code
sur le port 9980
. Il faudra penser à ouvrir le port sur le firewall.
# docker run -t -d -p 9980:9980 -e "domain=cloud.monDomaine.com" --cap-add MKNOD collabora/code |
OU
# docker run -t -d -p 9980:9980 -e "domain=cloud\\.monDomaine\\.fr" --cap-add MKNOD collabora/code |
La valeur de domain
correspond où votre serveur Nextcloud est installé.
Parfois il faudra relancer docker # systemctl restart docker
.
**Note **: On dirait que le démarrage est “lent”, long à être pris en compte.
**Note **: Il semblerait que le navigateur puisse garder en cache l’ancien container.
Problèmes Collabora et firewall
Lorsque la configuration du firewall est relancé Collabora ne fonctionnera plus. Il faudra relancer Docker et le container et patienter car il semblerait que la prise en compte soit lente (cache navigateur ?).
Certificat Let’s Encrypt
Dans un premier temps faites un essaie :
# certbot certonly --dry-run --webroot -w /var/lib/letsencrypt/ -d monDomaine.fr -d www.monDomaine.fr -d cloud.monDomaine.fr -d collabora.monDomaine.fr |
Si vous n’avez pas de message d’erreur vous pouvez lancer la vraie commande.
# certbot certonly --webroot -w /var/lib/letsencrypt/ -d monDomaine.fr -d www.monDomaine.fr -d cloud.monDomaine.fr -d collabora.monDomaine.fr |
NGINX et Let’s Encrypt
On va utiliser NGINX en tant que reverse-proxy pour que la connexion SSL soit valide sur le navigateur.
Dans un même fichier de conf NGINX monDomaine.fr.conf
où se situe à la fois la configuration de mondomain.fr
et de cloud.monDomaine.fr
(mais il est tout à fait possible de séparer les fichiers par sous-domaines) il faut ajouter pour office.monDomaine.fr
:
server { |
Lier Collabora à Nextcloud
Activer l’API
Dans le panel d’administration se trouve l’API qui permet de faire le lien entre votre serveur Collabra et votre Nextcloud. Pour vous y rendre :
- Cliquer sur votre pseudo en haut à droite
- Cliquer sur + Applications
- Cliquer sur Intégration dan le menu à gauche
- Chercher Collabora
- Télécharger/Activer Collabore
Configurer Collabora
Dans le menu Paramètres (cliquer sur votre pseudo en haut à droite > Paramètres), le menu Collabora en ligne devrait se trouver sur votre gauche.
Dans la partie URL (et port) du serveur Collabora Online mettre l’adresse de votre serveur Collabora, dans notre cas c’est office.monDomaine.fr :
Problèmes rencontrés
Solutions multiples pour problèmes multiples :
- Relancer Docker
# Systemctl restart Docker
- Mettre des
\
avant chaque.
dans le nom de domaine de la commande Docker - Patienter si vous avez récemment modifier vos DNS
Documentation
https://nextcloud.com/collaboraonline/
https://www.collaboraoffice.com/code/docker/