Skip to content

Docker Compose w/ SynoNAS Data

services:
  nextcloud-db:
    image: mariadb:11
    container_name: nextcloud-db
    restart: unless-stopped
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    environment:
      - MYSQL_ROOT_PASSWORD=CHANGE_THIS_ROOT_PASSWORD
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=CHANGE_THIS_PASSWORD_NOW
    volumes:
      - /home/jeff/docker/nextcloud/db:/var/lib/mysql
    networks:
      - nextcloud-net

  nextcloud-redis:
    image: redis:7-alpine
    container_name: nextcloud-redis
    restart: unless-stopped
    command: redis-server --requirepass CHANGE_THIS_REDIS_PASSWORD
    networks:
      - nextcloud-net

  nextcloud:
    image: lscr.io/linuxserver/nextcloud:latest
    container_name: nextcloud
    restart: unless-stopped
    ports:
      - 444:443
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Detroit
    volumes:
      - /home/jeff/docker/nextcloud/appdata:/config
      - /mnt/Nextcloud/data:/data
    depends_on:
      - nextcloud-db
      - nextcloud-redis
    networks:
      - nextcloud-net

  onlyoffice:
    image: onlyoffice/documentserver:latest
    container_name: onlyoffice
    restart: unless-stopped
    ports:
      - 8080:80
    environment:
      - JWT_ENABLED=true
      - JWT_SECRET=CHANGE_THIS_JWT_SECRET_TO_RANDOM_STRING
      - JWT_HEADER=Authorization
      - JWT_IN_BODY=true
    volumes:
      - /home/jeff/docker/onlyoffice/logs:/var/log/onlyoffice
      - /home/jeff/docker/onlyoffice/data:/var/www/onlyoffice/Data
      - /home/jeff/docker/onlyoffice/lib:/var/lib/onlyoffice
      - /home/jeff/docker/onlyoffice/db:/var/lib/postgresql
    networks:
      - nextcloud-net

networks:
  nextcloud-net:
    driver: bridge