services:
  transfair:
    image: docker.verbis.dkfz.de/cache/samply/transfair:latest
    container_name: bridgehead-transfair
    environment:
      # NOTE: Those 3 variables need only to be passed if their set, otherwise transfair will complain about empty url values
      - INSTITUTE_TTP_URL
      - INSTITUTE_TTP_API_KEY
      - PROJECT_ID_SYSTEM
      - FHIR_REQUEST_URL=${FHIR_REQUEST_URL}
      - FHIR_INPUT_URL=${FHIR_INPUT_URL}
      - FHIR_OUTPUT_URL=${FHIR_OUTPUT_URL:-http://blaze:8080}
      - FHIR_REQUEST_CREDENTIALS=${FHIR_REQUEST_CREDENTIALS}
      - FHIR_INPUT_CREDENTIALS=${FHIR_INPUT_CREDENTIALS}
      - FHIR_OUTPUT_CREDENTIALS=${FHIR_OUTPUT_CREDENTIALS}
      - EXCHANGE_ID_SYSTEM=${EXCHANGE_ID_SYSTEM:-SESSION_ID}
      - DATABASE_URL=sqlite://transfair/data_requests.sql?mode=rwc
      - RUST_LOG=${RUST_LOG:-info}
    volumes:
      - /var/cache/bridgehead/${PROJECT}/transfair:/transfair

  transfair-input-blaze:
    image: docker.verbis.dkfz.de/cache/samply/blaze:0.28
    container_name: bridgehead-transfair-input-blaze
    environment:
      BASE_URL: "http://bridgehead-transfair-input-blaze:8080"
      JAVA_TOOL_OPTIONS: "-Xmx1024m"
      DB_BLOCK_CACHE_SIZE: 1024
      CQL_EXPR_CACHE_SIZE: 8
      ENFORCE_REFERENTIAL_INTEGRITY: "false"
    volumes:
      - "transfair-input-blaze-data:/app/data"
    profiles: ["transfair-input-blaze"]

  transfair-request-blaze:
    image: docker.verbis.dkfz.de/cache/samply/blaze:0.28
    container_name: bridgehead-transfair-requests-blaze
    environment:
      BASE_URL: "http://bridgehead-transfair-requests-blaze:8080"
      JAVA_TOOL_OPTIONS: "-Xmx1024m"
      DB_BLOCK_CACHE_SIZE: 1024
      CQL_EXPR_CACHE_SIZE: 8
      ENFORCE_REFERENTIAL_INTEGRITY: "false"
    volumes:
      - "transfair-request-blaze-data:/app/data"
    profiles: ["transfair-request-blaze"]

volumes:
  transfair-input-blaze-data:
  transfair-request-blaze-data: