services:
  agenteval:
    build:
      context: ../..
      dockerfile: deploy/t480/Dockerfile
    container_name: agenteval
    ports:
      - "8001:8000"
    env_file:
      - path: ../../.env
        required: false
    volumes:
      # Persist SQLite database and generated reports on the host.
      - ../../data:/app/data
      # Mount tutu-api configuration (read-only). Ensure config/config.json exists before deploy.
      - ../../config/config.json:/app/config/config.json:ro
      # Mount pre-built React frontend dist (read-only).
      - ../../frontend/web/dist:/app/frontend/web/dist:ro
      # Mount backend Python code so code changes are picked up without rebuilding.
      - ../../backend:/app/backend:ro
      # Mount .env so Pydantic Settings can load deployment-specific config.
      - ../../.env:/app/.env:ro
    restart: unless-stopped

  openclaw-eval:
    image: ghcr.io/openclaw/openclaw:latest
    container_name: openclaw-eval
    ports:
      - "28789:18789"
    volumes:
      - ../../data/openclaw:/home/node/.openclaw
    environment:
      - AGENTEVAL_API_URL=http://agenteval:8000
    restart: unless-stopped
