• 0 Posts
  • 2 Comments
Joined 2 years ago
cake
Cake day: June 11th, 2023

help-circle

  • 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