services:
  postgres:
    env_file: .env
    build:
      context: postgres/
      dockerfile: Dockerfile
    container_name: MyINPulse-DB
    ports:
      - 5433:5432
    volumes:
      - ./postgres/data:/var/lib/postgresql/data

  keycloak:
    container_name: MyINPulse-keycloak
    build:
      context: ./keycloak
      dockerfile: Dockerfile
      args:
        KC_DB: postgres
        KC_DB_URL: jdbc:postgresql://postgres/${POSTGRES_DB}
        KC_DB_USERNAME: ${POSTGRES_USER}
        KC_DB_PASSWORD: ${POSTGRES_PASSWORD}
    environment:
      KC_HOSTNAME_PORT: 7080
      KC_HOSTNAME_STRICT_BACKCHANNEL: "true"
      KC_BOOTSTRAP_ADMIN_USERNAME: ${KEYCLOAK_ADMIN}
      KC_BOOTSTRAP_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD}
      KC_LOG_LEVEL: info
    command: ["start-dev", "--http-port", "7080", "--https-port", "7443", "--hostname", "${KEYCLOAK_HOSTNAME}"]
    ports:
      - "7080:7080"
      - "7443:7443"
    depends_on:
      - postgres

  front:
    build:
      context: ./front/
      dockerfile: Dockerfile
    container_name: MyINPulse-front
    ports:
      - "8080:80"

  #back:
  #  build:
  #    context: ./MyINPulse-back/
  #    dockerfile: Dockerfile
  #  container_name: MyINPulse-back
  #  ports:
  #    - "8081:8080"