services:
  db.dev:
    image: postgres:12
    environment:
      - POSTGRES_USER=tryton
      - POSTGRES_PASSWORD=tryton
      - POSTGRES_DB=tryton
  live.dev:
    build:
      context: .
      args:
        TRYTOND_VERSION: ${TRYTOND_VERSION}
    depends_on:
      - db.dev
    command: bash .dev/run.sh
    environment:
      - DB_NAME=tryton
      - SRC=/app
      - TRYTOND_DATABASE_URI=postgresql://tryton:tryton@db.dev:5432/
    volumes:
      - .:/app
    ports:
     - "${TRYTON_PORT:-8000}:8000"
    working_dir: /app
    env_file:
      - .env
  agents.dev:
    build:
      context: ./agents
      dockerfile: Dockerfile
      args:
        API_TOKEN_BOT: ${API_TOKEN_BOT}
        OPENAI_API_KEY: ${OPENAI_API_KEY}
        TAVILY_API_KEY: ${TAVILY_API_KEY}
        DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY}
    ports:
      - "8080:8080"
      - "8501:8501"
    volumes:
      - ./agents:/code
    environment:
      - PYTHONUNBUFFERED=1
    command: >
      uvicorn app.server:app --host 0.0.0.0 --port 8080      
    env_file:
      - .env