version: '2'

volumes:
  nextcloud:
  db:

services:
  db:
    image: mariadb:11.0.2-jammy
    restart: always
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    #volumes:
    #  - db:/var/lib/mysql # This is the usual way of starting this service in a container, but we do not need persistent data storage for benchmarking
    environment:
      - MYSQL_ROOT_PASSWORD=TheGibson
      - MYSQL_PASSWORD=TheGibson
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  nc:
    image: nextcloud:28.0.0-apache
    restart: always
    ports:
      - 8080:80
    links:
      - db
    #volumes:
    #  - nextcloud:/var/www/html # This is the usual way of using nextcloud in a container, but we do not need persistent data storage for benchmarking
    environment:
      - MYSQL_PASSWORD=TheGibson
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db
#    healthcheck:
#      test: curl -f http://nc
#      interval: "1h" # effectively turns repeated healthchecks during runtime off
#      start-period: "1s" # Not yet supported. Will come with Docker CE 25.0
#      start-interval: "1s" # Not yet supported. Will come with Docker CE 25.0