version: '3.8'

services:
  #Here is the ODC app
  app-odc:
    image: git.h2-invent.com/datenschutzcenter/application:<version>
    depends_on:
      db-odc:
        condition: service_healthy
    restart: unless-stopped
    env_file:
      - ./.env.local
      - ./.env.custom
    ports:
      - 8080:8080
    extra_hosts:
      - "<clientUrl>:<hostIp>"
    volumes:
      - datenschutzcenter_uploads:/var/www/html/public/uploads:rw
      - datenschutzcenter_secret_storage:/var/www/html/secretStorage:rw
      - datenschutzcenter_data:/var/www/html/data:rw
  db-odc:
    image: mariadb:latest
    hostname: db-odc
    healthcheck:
      test: [ "CMD", "mariadb-admin" ,"ping", "-h", "localhost","-ptest" ]
      timeout: 20s
      retries: 10
    restart: unless-stopped
    environment:
      MARIADB_ROOT_PASSWORD: test
    volumes:
      - mariadb:/var/lib/mysql
      - ./mysql-initdb:/docker-entrypoint-initdb.d

  keycloak-odc:
    image: quay.io/keycloak/keycloak:22.0.3
    depends_on:
      db-odc:
        condition: service_healthy
    env_file:
      - ./.env.local
      - ./.env.custom
    ports:
      - 8081:8080
    command:
      - start-dev
      - --import-realm
    volumes:
      - ./keycloak/:/opt/keycloak/data/import

volumes:
  mariadb:
  datenschutzcenter_uploads:
  datenschutzcenter_data:
  datenschutzcenter_secret_storage: