version: '2'

volumes:
  nextcloud:
  db:

services:
  db:
    image: postgres:15.3-alpine3.18
    restart: always
    #volumes:
    #  - db:/var/lib/postgresql/data:Z # This is the usual way of starting this service in a container, but we do not need persistent data storage for benchmarking
    environment:
      - POSTGRES_PASSWORD=TheGibson
      - POSTGRES_DB=nextcloud
      - POSTGRES_USER=nextcloud

  nc:
    image: nextcloud:28.0.1-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:
      - POSTGRES_PASSWORD=TheGibson
      - POSTGRES_DB=nextcloud
      - POSTGRES_USER=nextcloud
      - POSTGRES_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