version: '3' 
services:
  redis:
    image: redis:alpine
    container_name: nextcloud-redis
    restart: unless-stopped
    command: redis-server --maxmemory 256mb --maxmemory-policy allkeys-lfu --save 60 1000
    volumes:
      - redis_data:/data
    networks:
      nextcloud:
        aliases:
          - redis
  db:
          #logging:
          #driver: loki
          #options:
          #loki-url: "http://localhost:3100/loki/api/v1/push"
    image: mariadb:10.5
    container_name: nextcloud-db
    command: --innodb-buffer-pool-size=4G --innodb-log-file-size=512M --max-connections=200 --query-cache-type=1 --query-cache-size=64M --innodb-flush-log-at-trx_commit=2 --innodb-flush-method=O_DIRECT
    volumes:
      - /home/icke/mariadb-nextcloud/db:/var/lib/mysql
      - /etc/localtime:/etc/localtime:ro
    environment:
      - MYSQL_ROOT_PASSWORD=eccmts42*
      - MYSQL_PASSWORD=eccmts42*
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
    restart: unless-stopped
    networks:
      nextcloud:
        aliases:
          - db
  app:
          #logging:
          #driver: loki
          #options:
          #loki-url: "http://localhost:3100/loki/api/v1/push"
    image: nextcloud_full:30
    container_name: nextcloud-app
    depends_on:
      - db
      - redis
    ports:
      - 8089:80
    volumes:
      - /home/icke/nextcloud:/var/www/html
      - /home/icke/nextcloud/config:/var/www/html/config
      - /home/icke/nextcloud/custom_apps:/var/www/html/custom_apps
      - /mnt/nextcloud:/var/www/html/data
        #      - /var/lib/vz/images/101:/var/www/html/data
      - /home/icke/nextcloud/themes:/var/www/html/themes
      - /etc/localtime:/etc/localtime:ro
      - /home/icke/nextcloud/php.ini:/usr/local/etc/php/conf.d/upload_size.ini
    environment:
      - VIRTUAL_HOST=nextcloud.egonetix.de
      - UPLOAD_MAX_SIZE=20G
        #- LOG_LEVEL=DEBUG
    restart: unless-stopped
    tmpfs:
      - /tmp:size=1G
      - /var/tmp:size=512M
    networks:
      nextcloud:
        aliases:
          - app
    #collabora:
    #logging:
    #  driver: loki
    #  options:
    #    loki-url: "http://localhost:3100/loki/api/v1/push"
    #image: collabora/code
    #container_name: collabora
    #cap_add:
    #  - MKNOD
    #ports:
    #  - 9980:9980
    #environment:
      # - domain=nextcloud.egonetix.de
      #  - aliasgroup1=https://nextcloud.egonetix.de
      #restart: unless-stopped
volumes:
  nextcloud:
  db:
  redis_data:
          #collabora:

networks:
  nextcloud:
    driver: bridge
    external: false
