Installer ONLYOFFICE Docs sous Docker sur un serveur local

Introduction

Édition Communauté permet d'installer ONLYOFFICE Docs sur votre serveur local et d'intégrer les éditeurs en ligne à la plateforme de collaboration ONLYOFFICE ou à d'autres systèmes populaires.

ONLYOFFICE Docs est une suite bureautique en ligne comprenant des visionneuses et des éditeurs pour les documents texte, les feuilles de calcul et les présentations, entièrement compatible avec les formats Office Open XML : .docx, .xlsx, .pptx, et permettant la co-édition en temps réel.

Fonctionnalités

  • Éditeur de documents
  • Éditeur de classeurs
  • Éditeur de présentations
  • Visionneuses mobiles web
  • Édition collaborative
  • Prise en charge des idéogrammes
  • Prise en charge des formats les plus populaires : DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX, HTML

Consultez la liste détaillée des fonctionnalités disponibles pour ONLYOFFICE Docs Édition Communauté.

En l'utilisant avec ONLYOFFICE Workspace, vous pourrez :

  • partager des fichiers ;
  • gérer les droits d'accès aux documents ;
  • intégrer des documents sur un site web ;
  • afficher et modifier des fichiers stockés sur Drive, Box, Dropbox, OneDrive, OwnCloud connectés à ONLYOFFICE.

Ce guide vous explique comment installer la version Docker d'ONLYOFFICE Docs Édition Communauté sur votre ordinateur.

Configuration système minimale
  • Processeur : double cœur 2 GHz ou supérieur
  • RAM : 4 Go ou plus
  • Disque dur : au moins 40 Go d'espace libre
  • SWAP : au moins 4 Go, selon le système d'exploitation hôte. Plus est préférable
  • Système d'exploitation : distribution Linux amd64 avec noyau version 3.10 ou ultérieure
  • Prérequis supplémentaires
    • Docker : toute version prise en charge par l'équipe Docker

Installer ONLYOFFICE Docs

Assurez-vous d'avoir installé la dernière version de Docker. Si ce n'est pas le cas, consultez la section Installation sur le site Docker pour savoir comment l'obtenir.
Docker configure les serveurs DNS par défaut. Si votre application ONLYOFFICE Docs n'a pas accès à Internet, il est recommandé de remplacer l'adresse DNS de Docker par votre serveur DNS local. Pour ce faire, ouvrez le fichier /etc/default/docker et remplacez l'adresse IP de la ligne suivante par l'adresse IP d'un serveur DNS de votre réseau local :
docker_OPTS="--dns 8.8.8.8"

Pour les systèmes d'exploitation basés sur RPM tels que CentOS :

  1. Créez le fichier de configuration /etc/docker/daemon.json avec le contenu suivant :
    { "dns" : [ "8.8.8.8" ] }
  2. Redémarrez le service Docker :
    sudo systemctl restart docker.service

Une fois Docker en place, lancez-le et exécutez la commande suivante :

sudo docker run -i -t -d -p 80:80 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver
Important À partir de la version 7.2, une clé secrète JWT est générée aléatoirement. Si la variable d'environnement de la clé secrète JWT n'est pas définie, celle-ci sera régénérée à chaque redémarrage du serveur, ce qui peut entraîner des problèmes d'intégration. Pour éviter cela, saisissez votre propre valeur dans -e JWT_SECRET=my_jwt_secret.

Si vous ne souhaitez pas utiliser JWT lors de l'installation, utilisez -e JWT_ENABLED=false.

Utilisez cette commande si vous souhaitez installer ONLYOFFICE Docs séparément. Pour une installation intégrée d'ONLYOFFICE Docs avec ONLYOFFICE Workspace et ONLYOFFICE Mail, consultez les instructions correspondantes ci-dessous.

Par défaut, ONLYOFFICE Docs écoute les connexions entrantes sur le port 80. À partir de la version 4.3, vous pouvez modifier le port d'ONLYOFFICE Docs en reconfigurant le mappage de port lors de l'installation :
sudo docker run -i -t -d -p <PORT_NUMBER>:80 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver
<PORT_NUMBER> est le numéro de port qui sera utilisé par ONLYOFFICE Docs.

Cette commande installe ONLYOFFICE Docs et toutes ses dépendances (la liste des opérations effectuées par le script est disponible ici).

Vérifier l'installation

Une fois le conteneur en cours d'exécution, ouvrez http://localhost (ou l'adresse IP de votre serveur) dans un navigateur. La page d'accueil d'ONLYOFFICE Docs doit apparaître, confirmant que l'installation a réussi.

Si la page d'accueil n'apparaît pas, vérifiez les journaux du conteneur pour détecter des erreurs :

sudo docker logs <CONTAINER_ID>

Problèmes courants :

  • Le port 80 est déjà utilisé par une autre application. Arrêtez l'application en conflit ou utilisez un port différent avec -p <PORT_NUMBER>:80.
  • Le conteneur redémarre en boucle. Vérifiez les journaux pour détecter des erreurs de connexion à la base de données ou une mémoire insuffisante.
  • Connexion refusée dans le navigateur. Patientez 1 à 2 minutes — le premier démarrage prend du temps car la base de données est en cours d'initialisation.

Stocker des données en dehors du conteneur

Toutes les données sont stockées dans les volumes de données dédiés, aux emplacements suivants :

  • /var/log/onlyoffice pour les journaux d'activité d'ONLYOFFICE Docs
  • /var/www/onlyoffice/Data pour les certificats
  • /var/lib/onlyoffice pour le cache des fichiers
Conseil Il est fortement recommandé de stocker vos données en dehors des conteneurs Docker, sur la machine hôte, afin de faciliter la mise à jour d'ONLYOFFICE Docs lors de la publication d'une nouvelle version sans perdre les données.

Pour accéder aux données stockées en dehors du conteneur, montez des volumes en utilisant l'option -v dans la commande d'exécution Docker.

sudo docker run -i -t -d -p 80:80 --restart=always \
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  \
    -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice
Veuillez noter que si vous montez un volume qui n'existe pas encore, Docker le créera automatiquement, mais les droits d'accès seront limités. Vous devrez modifier les permissions manuellement.

En règle générale, il n'est pas nécessaire de conserver les données du conteneur, car les opérations de celui-ci ne dépendent pas de son état. La conservation des données est utile dans les cas suivants :

  • pour un accès facile aux données du conteneur, telles que les journaux d'activité ;
  • pour supprimer la limite de taille des données à l'intérieur du conteneur.

Exécuter ONLYOFFICE Docs en HTTPS

sudo docker run -i -t -d -p 443:443 --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver

Le protocole SSL peut être utilisé pour sécuriser l'accès à l'application et prévenir tout accès non autorisé. Des certificats SSL émis par une autorité de certification permettent d'établir la confiance. Des certificats auto-signés offrent un niveau de fiabilité équivalent s'ils sont correctement sécurisés côté client et si des mesures supplémentaires sont prises pour vérifier l'identité de votre site. Suivez les instructions ci-dessous pour réaliser ces opérations.

Pour sécuriser l'application avec SSL, vous aurez besoin de :

  • Clé privée (.key)
  • Certificat SSL (.crt)

Vous devrez créer et installer les fichiers suivants :

/app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt

Lorsque vous utilisez des certificats SSL émis par une autorité de certification (par exemple, Let's Encrypt), ces fichiers vous sont fournis par l'autorité. Si vous utilisez des certificats auto-signés, vous devez les générer vous-même.

Passer ONLYOFFICE Docs en HTTPS avec certbot

Le moyen le plus simple de passer ONLYOFFICE Docs en HTTPS est d'obtenir automatiquement un certificat SSL auprès de Let's Encrypt à l'aide de certbot.

Lancez le conteneur Docker ONLYOFFICE Docs sur les ports 80 et 443 en renseignant vos propres valeurs pour les variables :

sudo docker run -i -t -d -p 80:80 -p 443:443 --restart=always \
    -e LETS_ENCRYPT_DOMAIN=yourdomain.com -e LETS_ENCRYPT_MAIL=email@example.com -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver

Où :

  • LETS_ENCRYPT_DOMAIN — le nom de domaine à utiliser pour le certificat.
  • LETS_ENCRYPT_MAIL — l'adresse e-mail à utiliser lors de l'inscription et de la récupération.

Le certificat émis par l'autorité de certification letsencrypt.org sera généré et installé automatiquement sur votre serveur. Votre ONLYOFFICE Docs sera alors accessible à l'adresse https://yourdomain.com.

Générer des certificats auto-signés

La génération de certificats SSL auto-signés se déroule en trois étapes.

ÉTAPE 1 : Créez la clé privée du serveur :

openssl genrsa -out onlyoffice.key 2048

ÉTAPE 2 : Créez une demande de signature de certificat (CSR) :

openssl req -new -key onlyoffice.key -out onlyoffice.csr

ÉTAPE 3 : Signez le certificat à l'aide de la clé privée et du CSR :

openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt

Vous avez ainsi généré un certificat SSL valable 365 jours.

Renforcer la sécurité de votre serveur

Cette section contient des instructions pour renforcer la sécurité de votre serveur.

Pour ce faire, générez de bons paramètres DHE :

openssl dhparam -out dhparam.pem 2048
Installer des certificats SSL

Parmi les quatre fichiers générés, vous devez installer onlyoffice.key, onlyoffice.crt et dhparam.pem sur le serveur ONLYOFFICE. Le fichier CSR n'est pas nécessaire, mais conservez-en une sauvegarde sécurisée.

Par défaut, l'application ONLYOFFICE recherche les certificats SSL dans le répertoire /var/www/onlyoffice/Data/certs. Vous pouvez modifier ce chemin à l'aide des options de configuration SSL_KEY_PATH, SSL_CERTIFICATE_PATH et SSL_DHPARAM_PATH.

Le chemin /var/www/onlyoffice/Data/ correspond au répertoire de stockage des données. Créez un sous-dossier certs dans /app/onlyoffice/DocumentServer/data/, déplacez-y les fichiers, puis restreignez les droits d'accès au fichier onlyoffice.key en lecture seule pour le propriétaire :

mkdir -p /app/onlyoffice/DocumentServer/data/certs
cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/
cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/
cp dhparam.pem /app/onlyoffice/DocumentServer/data/certs/
chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key

Redémarrez le conteneur Docker :

sudo docker restart {{DOCUMENT_SERVER_ID}}

Votre application est désormais sécurisée.

Paramètres de configuration disponibles
Pour éviter de saisir une commande docker run trop longue, vous pouvez stocker toutes les variables d'environnement dans un fichier texte brut et le transmettre à l'aide du paramètre --env-file.

Voici la liste complète des paramètres configurables à l'aide des variables d'environnement.

  • ONLYOFFICE_HTTPS_HSTS_ENABLED : option avancée pour désactiver la configuration HSTS. S'applique uniquement en mode SSL. Valeur par défaut : true.
  • ONLYOFFICE_HTTPS_HSTS_MAXAGE : option avancée pour configurer le paramètre HSTS max-age dans la configuration NGINX vHost d'ONLYOFFICE. S'applique uniquement en mode SSL. Valeur par défaut : 31536000.
  • SSL_CERTIFICATE_PATH : chemin du certificat SSL. Valeur par défaut : /var/www/onlyoffice/Data/certs/tls.crt.
  • SSL_KEY_PATH : chemin de la clé privée du certificat SSL. Valeur par défaut : /var/www/onlyoffice/Data/certs/tls.key.
  • SSL_DHPARAM_PATH : chemin du paramètre Diffie-Hellman. Valeur par défaut : /var/www/onlyoffice/Data/certs/dhparam.pem.
  • SSL_VERIFY_CLIENT : active la vérification des certificats client à l'aide du fichier CA_CERTIFICATES_PATH. Valeur par défaut : false.
  • NGINX_WORKER_PROCESSES : définit le nombre de processus worker NGINX.
  • NGINX_WORKER_CONNECTIONS : définit le nombre maximum de connexions simultanées par processus worker NGINX.
  • SECURE_LINK_SECRET : définit la clé secrète pour la directive NGINX secure_link_md5. Valeur par défaut : chaîne aléatoire.
  • JWT_ENABLED : indique si la validation du jeton JSON est activée pour ONLYOFFICE Docs. Valeur par défaut : true.
  • JWT_SECRET : définit la clé secrète pour la validation du jeton JSON dans les requêtes envoyées à ONLYOFFICE Docs. Valeur par défaut : valeur aléatoire.
  • JWT_HEADER : définit l'en-tête HTTP utilisé pour transmettre le jeton JSON. Valeur par défaut : Authorization.
  • JWT_IN_BODY : indique si la validation du jeton dans le corps de la requête est activée. Valeur par défaut : false.
  • WOPI_ENABLED : indique si le gestionnaire WOPI est activé. Valeur par défaut : false.
  • USE_UNAUTHORIZED_STORAGE : définissez true si vous utilisez des certificats auto-signés pour votre serveur de stockage (ex. Nextcloud). Valeur par défaut : false.
  • GENERATE_FONTS : si true, régénère la liste et les miniatures des polices à chaque démarrage. Valeur par défaut : true.
  • METRICS_ENABLED : indique si StatsD est activé pour ONLYOFFICE Docs. Valeur par défaut : false.
  • METRICS_HOST : définit l'hôte d'écoute StatsD. Valeur par défaut : localhost.
  • METRICS_PORT : définit le port d'écoute StatsD. Valeur par défaut : 8125.
  • METRICS_PREFIX : définit le préfixe de métriques StatsD pour les services d'administration. Valeur par défaut : ds..
  • LETS_ENCRYPT_DOMAIN : définit le domaine pour le certificat Let's Encrypt.
  • LETS_ENCRYPT_MAIL : définit l'adresse e-mail de l'administrateur du domaine pour le certificat Let's Encrypt.

Installer ONLYOFFICE Docs intégré dans ONLYOFFICE Workspace et ONLYOFFICE Mail

ONLYOFFICE Docs fait partie d'ONLYOFFICE Workspace, qui comprend également le Serveur Communauté ONLYOFFICE, le Panneau de configuration ONLYOFFICE et ONLYOFFICE Mail. Si vous souhaitez les installer et les intégrer ensemble, consultez ces instructions.

Méthodes alternatives d'installation d'ONLYOFFICE Docs

Vous pouvez également utiliser un script d'installation automatique pour installer l'ensemble de Workspace en une seule opération. Pour le bon fonctionnement du serveur de messagerie, vous devez spécifier son nom d'hôte yourdomain.com.

ÉTAPE 1 : Téléchargez le fichier du script d'installation :

curl -O https://download.onlyoffice.com/install/workspace-install.sh
    

ÉTAPE 2 : Installez Workspace :

bash workspace-install.sh -md yourdomain.com
    

Vous pouvez également utiliser docker-compose pour installer ONLYOFFICE Docs. Consultez les instructions ici pour savoir comment procéder.

Configurer IPv6 pour ONLYOFFICE Docs

Fonctionne et est pris en charge uniquement pour les hôtes Linux

Par défaut, Docker ne fournit pas d'adresses IPv6 aux conteneurs. Cette fonctionnalité est actuellement en phase expérimentale.

Pour configurer les échanges via IPv6, vous devez activer la prise en charge de cette fonctionnalité dans Docker. Pour ce faire :

  • créez le fichier /etc/docker/daemon.json avec le contenu suivant :
    {
    "ipv6": true,
    "fixed-cidr-v6": "2001:db8:abc1::/64"
    }
  • redémarrez Docker avec la commande suivante : systemctl restart docker

Chaque conteneur en cours d'exécution recevra alors une adresse IPv6 et disposera d'une interface inet6.

Vous pouvez vérifier votre réseau bridge par défaut et y trouver le champ EnableIPv6=true. Un nouveau sous-réseau IPv6 sera également ajouté.

Pour en savoir plus, consultez le manuel officiel Docker.

Regarder la vidéo

Comment deployer ONLYOFFICE Docs sur votre serveur à l'aide de Docker

Apprendre à déployer l'éditeur puissant ONLYOFFICE Docs sur votre serveur à l'aide de Docker. C'est très facile et cela ne prend que quelques minutes.

Articles avec le tag :
Parcourir tous les tags