version: "3.7"

services:
  teiler:
    image: docker.verbis.dkfz.de/ccp/dktk-teiler:latest
    container_name: bridgehead-ccp-teiler
    environment:
      LOG_LEVEL: "INFO"
      TEILER_API_KEY: "${TEILER_API_KEY}"
      CROSS_ORIGINS: "https://${HOST}/ccp-teiler-root-config"
      TEILER_DB_USER: "teiler"
      TEILER_DB_PASSWORD: "${TEILER_DB_PASSWORD}" # Set in teiler-setup.sh
      TEILER_DB_URL: "jdbc:postgresql://teiler-db:5432/teiler"
      CLEAN_TEMP_FILES_CRON_EXPRESSION: "0 0 1 * * *"
      TEMP_FILES_LIFETIME_IN_DAYS: "1"
      CLEAN_WRITE_FILES_CRON_EXPRESSION: "0 0 2 * * *"
      WRITE_FILES_LIFETIME_IN_DAYS: "30"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.teiler_ccp.rule=PathPrefix(`/ccp-teiler`)"
      - "traefik.http.services.teiler_ccp.loadbalancer.server.port=8092"
      - "traefik.http.routers.teiler_ccp.tls=true"
      - "traefik.http.routers.teiler_ccp.middlewares=auth"
    volumes:
      - "teiler:/app/teiler-files"

  teiler-db:
    image: postgres:15.1-alpine
    container_name: bridgehead-ccp-teiler-db
    environment:
      POSTGRES_USER: "teiler"
      POSTGRES_PASSWORD: "${TEILER_DB_PASSWORD}" # Set in teiler-setup.sh
      POSTGRES_DB: "teiler"
    volumes:
      - "teiler-db:/var/lib/postgresql/data"


volumes:
  teiler-db:
    name: "teiler-db"
  teiler:
    name: "teiler"