# docker-compose-dev.yml: Enables port forwarding for local development in `make up`.
#
# To run directly from command-line:
#     docker compose -f docker-compose.yml -f docker-compose-dev.yml up -d
services:
  ai-evals-dev:
    ports:
      - 8888:5000
    env_file:
      - .env
    environment:
      - HOST=0.0.0.0
      - AWS_ACCESS_KEY_ID
      - AWS_SECRET_ACCESS_KEY
      - AWS_SESSION_TOKEN
      - AWS_REGION
    depends_on:
      jobs-table-init:
        condition: service_completed_successfully

  ai-evals-deploy:
    ports:
      - 8889:8080

  dynamodb-local:
    image: amazon/dynamodb-local:latest
    command: ["-jar", "DynamoDBLocal.jar", "-inMemory", "-sharedDb"]
    ports:
      - 8000:8000

  # One-shot: creates the local jobs table before ai-evals-dev starts, so `make up` fails
  # loudly on setup problems instead of the first real request failing instead.
  jobs-table-init:
    build:
      context: .
      target: dev
    env_file:
      - .env
    environment:
      - AWS_ACCESS_KEY_ID
      - AWS_SECRET_ACCESS_KEY
      - AWS_SESSION_TOKEN
      - AWS_REGION
    depends_on:
      - dynamodb-local
    volumes:
      - .:/var/app
    command: ["sh", "-c", "sleep 10 && PYTHONPATH=/var/app python scripts/create-local-jobs-table.py"]
