Mettre en place OnlyOffice Docker avec Nextcloud
Prérequis :
- Avoir un nom de domaine
- Dans notre cas nous utiliserons le nom de domaine :
miraceti.net
- Dans notre cas nous utiliserons le nom de domaine :
- Avoir une configuration de Nextcloud Docker fonctionnel
- Sinon suivre le tuto suivant : Déployer Nextcloud Docker
Préparation des fichiers de configuration
Préparation du fichier docker-compose.yml :
postgres-onlyoffice:
image: ${ONLYOFFICE_DOCUMENT_POSTGRES_IMAGE_TAG}
container_name: postgres-onlyoffice
volumes:
- onlyoffice-document-postgres:/var/lib/postgresql/data
environment:
POSTGRES_DB: ${ONLYOFFICE_DOCUMENT_DB_NAME}
POSTGRES_USER: ${ONLYOFFICE_DOCUMENT_DB_USER}
POSTGRES_HOST_AUTH_METHOD: trust
networks:
- onlyoffice-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
interval: 10s
timeout: 5s
retries: 3
start_period: 60s
restart: unless-stopped
redis-onlyoffice:
image: ${ONLYOFFICE_DOCUMENT_REDIS_IMAGE_TAG}
container_name: redis-onlyoffice
volumes:
- redis-onlyoffice-document-data:/data
networks:
- onlyoffice-network
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 3
start_period: 60s
restart: unless-stopped
rabbitmq-onlyoffice:
image: ${ONLYOFFICE_DOCUMENT_RABBITMQ_IMAGE_TAG}
container_name: rabbitmq-onlyoffice
volumes:
- rabbitmq-onlyoffice-document-data:/bitnami/rabbitmq/mnesia
environment:
RABBITMQ_USERNAME: ${ONLYOFFICE_DOCUMENT_RABBITMQ_USER}
RABBITMQ_PASSWORD: ${ONLYOFFICE_DOCUMENT_RABBITMQ_PASSWORD}
POSTGRES_PASSWORD: ${ONLYOFFICE_DOCUMENT_DB_PASSWORD}
RABBITMQ_MANAGEMENT_ALLOW_WEB_ACCESS: true
networks:
- onlyoffice-network
healthcheck:
test: rabbitmq-diagnostics -q ping
interval: 10s
timeout: 5s
retries: 3
start_period: 90s
restart: unless-stopped
onlyoffice-document:
image: ${ONLYOFFICE_DOCUMENT_IMAGE_TAG}
container_name: onlyoffice
volumes:
- onlyoffice-document-data:/var/www/onlyoffice/Data
- onlyoffice-document-log:/var/log/onlyoffice
- onlyoffice-document-cache-files:/var/lib/onlyoffice/documentserver/App_Data/cache/files
- onlyoffice-document-public-files:/var/www/onlyoffice/documentserver-example/public/files
- onlyoffice-document-fonts:/usr/share/fonts
environment:
DB_TYPE: postgres
DB_HOST: postgres-onlyoffice-document
DB_PORT: 5432
DB_NAME: ${ONLYOFFICE_DOCUMENT_DB_NAME}
DB_USER: ${ONLYOFFICE_DOCUMENT_DB_USER}
DB_PWD: ${ONLYOFFICE_DOCUMENT_DB_PASSWORD}
AMQP_URI: amqp://${ONLYOFFICE_DOCUMENT_RABBITMQ_USER}:${ONLYOFFICE_DOCUMENT_RABBITMQ_PASSWORD}@rabbitmq-onlyoffice-document
REDIS_SERVER_HOST: redis-onlyoffice-document
REDIS_SERVER_PORT: 6379
JWT_ENABLED: true
JWT_SECRET: ${ONLYOFFICE_DOCUMENT_JWT_SECRET}
JWT_HEADER: Authorization
JWT_IN_BODY: 'true'
networks:
- onlyoffice-network
- bddnetwork
restart: unless-stopped
depends_on:
postgres-onlyoffice:
condition: service_healthy
rabbitmq-onlyoffice:
condition: service_healthy
# nextcloud:
# condition: service_healthy
Création et édition du fichier .env :
# OnlyOffice Variables
ONLYOFFICE_DOCUMENT_POSTGRES_IMAGE_TAG=postgres:15
ONLYOFFICE_DOCUMENT_REDIS_IMAGE_TAG=redis:7.2
ONLYOFFICE_DOCUMENT_RABBITMQ_IMAGE_TAG=bitnami/rabbitmq:3.13.4
ONLYOFFICE_DOCUMENT_IMAGE_TAG=onlyoffice/documentserver:8.1
ONLYOFFICE_DOCUMENT_HOSTNAME=office.miraceti.net
ONLYOFFICE_DOCUMENT_DB_NAME=onlyoffice
ONLYOFFICE_DOCUMENT_DB_USER=onlyofficedbuser
ONLYOFFICE_DOCUMENT_DB_PASSWORD=yVNyHP2keUeD5wD3vkrb
ONLYOFFICE_DOCUMENT_JWT_SECRET=7bukHBGUEzvCjHrYKuT8
ONLYOFFICE_DOCUMENT_RABBITMQ_USER=rabbitmqdb
ONLYOFFICE_DOCUMENT_RABBITMQ_PASSWORD=FX7zuRA7y2wVUNkYwtwH