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 # Mount Docker socket for managing openclaw-eval container (cron pool). - /var/run/docker.sock:/var/run/docker.sock 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 - OPENCLAW_GATEWAY_TOKEN=agenteval-openclaw-token-2026 restart: unless-stopped