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 dans la plateforme collaborative ONLYOFFICE ou dans d'autres systèmes populaires.

ONLYOFFICE Docs est une suite bureautique complète comportant des visionneuses, des éditeurs de texte, classeurs et présentations complètement compatibles avec les formats Office Open XML: .docx, .xlsx, .pptx permettant l'édition collaborative 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 hiéroglyphes
  • 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é.

Lors de l'intégration dans ONLYOFFICE Workspace vous pourrez:

  • partager des fichiers;
  • gérer des permissions d'accès aux documents;
  • incorporer des documents dans 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 (CPU): double cœur à 2 GHz ou plus
  • RAM: 4 Go ou plus
  • HDD: disque dur d'au moins 40 Go d'espace disponible
  • SWAP: d'au moins 4 Go, mais cela dépend du système d'exploitation hôte. Plus il y en a, mieux c'est
  • Système d'exploitation: noyau Linux 3.10 pour l'architecture amd64 ou version ultérieure
  • Exigences supplémentaires
    • Docker: toute version prise en charge par l'équipe Docker

Installer ONLYOFFICE Docs

Il faut installer la dernière version de Docker. Si vous ne l'avez pas, veuillez consulter la section Installation sur le site Docker pour découvrir comment l'obtenir.
Docker configure les serveurs DNS par défaut. Si votre application ONLYOFFICE Docs reste sans accès à Internet, il est recommandé de remplacer l'adresse DNS de Docker par votre serveur DNS local. Pour ce faire, passez au 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 comportant ce qui suit:
    { "dns" : [ "8.8.8.8" ] }
  2. Redémarrez le service Docker:
    
    sudo systemctl restart docker.service

Une fois Docker en place, lancez le logiciel 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, nous avons ajouté la génération aléatoire de la clé secrète JWT. Lorsque la clé secrète JWT n'inclut pas la variable d'environnement, cette clé sera regénérée pendant chaque redémarrage du serveur virtualisé ou physique, donc des problèmes d'intégration peuvent survenir. Pour éviter ce problème, saisissez votre valeur dans -e JWT_SECRET=my_jwt_secret.

Si vous n'allez pas utiliser JWT pendant l'installation, utilisez -e JWT_ENABLED=false.

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

Par défaut, ONLYOFFICE Docs écoute les connexions entrant dans le port 80. À partir de la version 4.3, vous pouvez changer le port pour ONLYOFFICE Docs si vous souhaitez remplacer le port par défaut. On peut facilement ce faire en reconfigurant le mappage de port pendant 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 du port qui sera utilisé par ONLYOFFICE Docs.

Cela permet d'installer ONLYOFFICE Docs et toutes ses dépendances (la liste de ce qui est fait par le script est disponible ici).

Stocker des données en dehors du conteneur

Toutes les données sont stockées sous forme de répertoires individuels sur le lien suivant:

  • /var/log/onlyoffice pour l'historique d'ONLYOFFICE Docs
  • /var/www/onlyoffice/Data pour les certificats
  • /var/lib/onlyoffice pour le cache du fichier
  • /var/lib/postgresql pour la base de données
Conseil Il est donc fortement recommandé de stocker vos données en dehors des conteneurs Docker sur une machine hôte permettant de mettre à jour plus facilement ONLYOFFICE Docs dès qu'une nouvelle version est disponible sans perdre les données.

Pour obtenir l'accès aux données stockées en dehors du conteneur, il faut donc monter des volumes. Pour ce faire, indiquez 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 \
    -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver
Veuillez noter qu'en cas de montage d'un volume qui n'existe pas encore, Docker le créera pour vous, mais l'accès sera limité. Il faut modifier les permissions d'accès manuellement.

Habituellement, vous n'avez pas à enregistrer des données du conteneur puisque les opérations du conteneur ne dépendent pas de son état. Il est utile d'enregistrer des données:

  • pour un accès facile aux données du conteneur telles que l'historique;
  • pour supprimer la limite de taille des données à l'intérieur du conteneur;
  • lors de l'utilisation des services lancés en dehors du conteneur tels que PostgreSQL, Redis, RabbitMQ.

Lancer ONLYOFFICE Docs à l'aide de 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 SSL peut être utilisé dans le but de sécuriser l'accès à l'application et de prévenir tout accès non autorisé. Des certificats SSL émis par une autorité de certification permettent d'instaurer la confiance via l'autorité de certification. Des certificats auto-signés fournissent aussi un niveau égal de fiabilité, s'ils sont correctement sécurisés par le client et s'on prend des mesures supplémentaires pour vérifier l'identité de votre site. Suivez les instructions ci-après pour réaliser ces procédures.

Pour sécuriser l'application avec SSL, il faut deux choses:

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

Alors, il vous faut créer et installer les fichiers suivants:

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

Lors de l'utilisation des certificats SSL émis par une autorité de certification (par exemple, Let's Encrypt), c'est l'autorité de certification qui fournit ces fichiers. Quand vous utilisez des certificats auto-signés, vous devez générer ces fichiers vous-même.

Faire passer ONLYOFFICE Docs en HTTPS en utilisant certbot

Le moyen le plus simple de faire passer ONLYOFFICE Docs en HTTPS est d'obtenir automatiquement le certificat SSL de Let's Encrypt en utilisant certbot.

Lancez le conteneur Docker ONLYOFFICE Docs sur les ports 80 et 443 et saisissez 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 email à utiliser lors de l'enregistrement et de la récupération.

Le certificat letsencrypt.org émis par l'autorité de certification sera généré et installé automatiquement sur votre serveur. Désormais, votre ONLYOFFICE Docs doit être disponible sur https://yourdomain.com.

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

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

É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 en utilisant la clé privée et CSR

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

Alors, vous avez généré un certificat SSL avec une période de validité de 365 jours.

Renforcer la sécurité de votre serveur

Dans cette section, vous trouverez les instructions pour renforcer la sécurité de votre serveur.

Pour ce faire, il faut générer de bons paramètres DHE.

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

Les fichiers à installer sur serveur onlyoffice sur quatre fichiers générés onlyoffice.key, onlyoffice.crt et dhparam.pem . Vous n'avez pas besoin du CSR, mais assurez-vous de faire une sauvegarde sécurisée (au cas où vous en auriez besoin).

Le chemin d'accès au certificat SSL recherché par l'application onlyoffice par défaut est /var/www/onlyoffice/Data/certs, mais il est possible de le changer en utilisant des options de configuration SSL_KEY_PATH, SSL_CERTIFICATE_PATH et SSL_DHPARAM_PATH .

Le chemin /var/www/onlyoffice/Data/ est le chemin au data store, ce qui signifie qu'il vous faut créer un dossier nommé certs dans /app/onlyoffice/DocumentServer/data/ et y déplacer des fichiers. Ensuite modifiez la permission d'accès au fichier onlyoffice.key en ne le rendant lisible que par le propriétaire comme mesure de sécurité.

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

Réinitialisez le conteneur Docker:

sudo docker restart {{DOCUMENT_SERVER_ID}}

Vous êtes sur le point de sécuriser notre application.

Paramètres de configuration disponibles
Veuillez vérifier des options de la commande d'exécution docker run avec l'indicateur --env-file où vous pouvez indiquer toutes les variables d'environnement dans un seul fichier. Cela vous aidera à éviter de coder une chaîne longue de la commande d'exécution docker.

Consultez ci-dessous la liste des paramètres que vous pouvez configurer à l'aide des variables d'environnement.

  • ONLYOFFICE_HTTPS_HSTS_ENABLED: Une option de configuration avancée pour désactiver la configuration HSTS. Ne s'applique que lors de l'utilisation de SSL. La valeur par défaut est true.
  • ONLYOFFICE_HTTPS_HSTS_MAXAGE: Une option de configuration avancée pour réglage du paramètre HSTS max-age dans la configuration NGINX vHost d'onlyoffice. Ne s'applique que lors de l'utilisation de SSL. La valeur par défaut est 31536000.
  • SSL_CERTIFICATE_PATH: Le chemin du certificat SSL à utiliser. Par défaut, /var/www/onlyoffice/Data/certs/tls.crt.
  • SSL_KEY_PATH: Le chemin de la clé privée du certificat SSL. Par défaut, /var/www/onlyoffice/Data/certs/tls.key.
  • SSL_DHPARAM_PATH: Le chemin du paramètre Diffie-Hellman. Par défaut, /var/www/onlyoffice/Data/certs/dhparam.pem.
  • SSL_VERIFY_CLIENT: Activation de la vérification des certificats du client en utilisant CA_CERTIFICATES_PATH file. La valeur par défaut est false.
  • DB_TYPE: Le type de base de données. Les valeurs prises en charge postgres, mariadb ou mysql. La valeur par défaut est postgres.
  • DB_HOST: L'adresse IP ou le nom du hôte où le serveur est en cours d'exécution.
  • DB_PORT: Le numéro du port utilisé pour accéder à la base de données.
  • DB_NAME: Le nom de la base de données qui sera créée lors du lancement de l'image.
  • DB_USER: Le nouveau nom du utilisateur qui possède tous les droits au niveau d'une base de données.
  • DB_PWD: Le mot de passe défini sur le compte de la base de données.
  • AMQP_URI: AMQP URI permet de vous connecter au serveur de l'agent de messages.
  • AMQP_TYPE: Le type de l'agent de messages. Les valeurs prises en charge rabbitmq ou activemq. La valeur par défaut est rabbitmq.
  • REDIS_SERVER_HOST: L'adresse IP ou le nom du hôte où le serveur Redis est en cours d'exécution.
  • REDIS_SERVER_PORT: Le numéro du port utilisé pour accéder au serveur Redis.
  • NGINX_WORKER_PROCESSES: Définit le nombre de processus actifs NGINX.
  • NGINX_WORKER_CONNECTIONS: Définit le nombre maximum de connexions simultanées auxquelles peut accéder un processus NGINX.
  • SECURE_LINK_SECRET: Définit la clé secrète pour la directive de configuration nginx secure_link_md5. La valeur par défaut est chaîne aléatoire.
  • JWT_ENABLED: Indique l'activation de la validation du jeton JSON par ONLYOFFICE Docs. La valeur par défaut est true.
  • JWT_SECRET: Définit la clé secrète pour la validation du jeton JSON dans la demande à ONLYOFFICE Docs. La valeur par défaut est une valeur aléatoire.
  • JWT_HEADER: Définit l'en-tête HTTP à utiliser pour envoyer le jeton JSON. La valeur par défaut est Authentification.
  • JWT_IN_BODY: Indique l'activation de la validation du jeton dans le corps de la demande envoyée à ONLYOFFICE Docs. La valeur par défaut est false.
  • WOPI_ENABLED: Indique si le gestionnaire wopi est activé. La valeur par défaut est false.
  • USE_UNAUTHORIZED_STORAGE: Indiquez vrai si vous utilisez des certificats auto-signés pour votre serveur de stockage, par exemple, Nextcloud. La valeur par défaut est false.
  • GENERATE_FONTS: Si vrai, régénère la liste et les miniatures des polices, etc. à chaque démarrage. La valeur par défaut est true.
  • METRICS_ENABLED: Indique l'activation de StatsD pour ONLYOFFICE Docs. La valeur par défaut est false.
  • METRICS_HOST: Définit l'hôte d'écoute StatsD. La valeur par défaut est localhost.
  • METRICS_PORT: Définit le port d'écoute StatsD. La valeur par défaut est 8125.
  • METRICS_PREFIX: Définit le préfixe métrique StatsD pour les services d'administration. La valeur par défaut est 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 comportant aussi Serveur Communauté ONLYOFFICE, Panneau de configuration ONLYOFFICE et ONLYOFFICE Mail. Si vous souhaitez installer toutes les applications et les intégrer entre elles, veuillez consulter ces instructions.

Méthodes alternatives d'installation d'ONLYOFFICE Docs

Vous pouvez également utiliser un script d'installation automatique pour installer Workspace complet à la fois. Il faut indiquer le nom d'hôte yourdomain.com pour le bon fonctionnement du serveur de messagerie.

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

Exécutez la commande suivante:

wget https://download.onlyoffice.com/install/workspace-install.sh
    

ÉTAPE 2: Installez Workspace

Pour ce faire, exécutez la commande suivante:

bash workspace-install.sh -md yourdomain.com
    

Vous pouvez utiliser docker-compose pour installer ONLYOFFICE Docs. Veuillez consulter les instructions ici pour apprendre comment ça marche.

Configurer ipv6 pour ONLYOFFICE Docs

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

Par défaut, Docker ne fournit pas actuellement des adresses ipv6 pour les conteneurs. Cette fonctionnalité est actuellement en phase expérimentale.

Pour prendre en charge ipv6, il vous faut activer cette fonctionnalité dans votre Docker. Pour ce faire:

  • créez le fichier /etc/docker/daemon.json comportant ce qui suit:
    {
    "ipv6": true,
    "fixed-cidr-v6": "2001:db8:abc1::/64"
    }
  • redémarrez docker en utilisant la commande suivante: systemctl restart docker

Ensuite, chaque conteneur en cours d'exécution reçoit une adresse ipv6 et obtient une interface ipv6.

Vous pouvez vérifier votre réseau de ponts par défaut et y trouver le champ EnableIPv6=true. Une nouvelle sous-réseau ipv6 sera également ajoutée.

Pour en savoir plus, consultez le manuel sur le site 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.

Hébergez ONLYOFFICE Docs sur votre serveur ou utilisez dans le cloud

Articles avec le tag :
Parcourir tous les tags