Here’s my docker-compose.yml for nextcloud (with minor privacy changes) that includes onlyoffice and drawio containers. SSL is not included and should be handled by NPM and you’ll need a proxy host for both drawio and onlyoffice. I use NPM in docker so I just add it to the docs network instead of exposing any additional ports. For onlyoffice the secret key gets regenerated each time the container starts so you’ll need to update onlyoffice setting in nextcloud each time (unless someone has a better solution). You can get the secret key by logging into the onlyoffice container and running
Here’s my docker-compose.yml for nextcloud (with minor privacy changes) that includes onlyoffice and drawio containers. SSL is not included and should be handled by NPM and you’ll need a proxy host for both drawio and onlyoffice. I use NPM in docker so I just add it to the docs network instead of exposing any additional ports. For onlyoffice the secret key gets regenerated each time the container starts so you’ll need to update onlyoffice setting in nextcloud each time (unless someone has a better solution). You can get the secret key by logging into the onlyoffice container and running
cat /etc/onlyoffice/documentserver-example/local.json
I’ve been running this solution for a few years without any major issues.
docker-compose.yml
version: '3.5' networks: docs: name: docs driver: bridge services: nextcloud: image: linuxserver/nextcloud container_name: nextcloud environment: - PUID=1000 - PGID=1000 - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=P@ssWord321! - MYSQL_HOST=nextcloud_db - TZ="America/Chicago" volumes: - /home/user/docker/configs/nextcloud:/config - /home/user/docker/configs/nextcloud_data:/data restart: unless-stopped depends_on: - nextcloud_db networks: - docs nextcloud_db: image: linuxserver/mariadb:110.4.21mariabionic-ls31 container_name: nextcloud_db restart: always environment: - PUID=1000 - PGID=1000 - MYSQL_ROOT_PASSWORD=P@ssWord123! - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=P@ssWord321! volumes: - /home/user/docker/configs/nextcloud_db/mysql:/config restart: unless-stopped networks: - docs onlyoffice: image: onlyoffice/documentserver container_name: onlyoffice restart: always depends_on: - nextcloud networks: - docs image-export: image: jgraph/export-server container_name: nextcloud-drawio-export networks: - docs volumes: - ./fonts:/usr/share/fonts/drawio restart: unless-stopped drawio: image: jgraph/drawio container_name: nextcloud-drawio networks: - docs depends_on: - image-export environment: - VIRTUAL_HOST=drawio.example.com - VIRTUAL_PORT=8080 - EXPORT_URL=http://image-export:8000/ restart: unless-stopped