version: "3.8"
services:
  db:
    image: mariadb
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    restart: always
    volumes:
      - /volume1/docker/nextcloud/db:/var/lib/mysql:rw
    environment:
      - MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
      - MARIADB_AUTO_UPGRADE=1
      - MARIADB_DISABLE_UPGRADE_BACKUP=1
      - MYSQL_PASSWORD=$MYSQL_PASSWORD
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - TZ=Europe/Paris
  redis:
    image: redis:alpine
    volumes:
      - /volume1/docker/nextcloud/redis:/data:rw
    environment:
      TZ: Europe/Paris
    restart: always
  app:
    image: nextcloud:apache
    restart: always
    ports:
      - 8090:80
    volumes:
      - /volume1/docker/nextcloud/app:/var/www/html:rw
      - /mnt/share/nextcloud:/var/www/html/data:rw
    environment:
      - MYSQL_HOST=db
      - REDIS_HOST=redis
      - MYSQL_PASSWORD=$MYSQL_PASSWORD
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - NEXTCLOUD_TRUSTED_DOMAINS=nextcloud.domain.com 192.168.1.1
      - TRUSTED_PROXIES=nextcloud.domain.com 192.168.1.1
      - OVERWRITEHOST=nextcloud.domain.com
      - OVERWRITEPROTOCOL=https
    depends_on:
      - db
      - redis
  cron:
    image: nextcloud:apache
    restart: always
    volumes:
      - /volume1/docker/nextcloud/app:/var/www/html:rw
      - /mnt/share/nextcloud:/var/www/html/data:rw
    entrypoint: /cron.sh
    depends_on:
      - db
      - redis