All checks were successful
CI / test (push) Successful in 3m42s
openclaw gateway fails to start when trusted-proxy and a shared token are both configured (mutually exclusive). The env var was re-introduced on every deploy because deploy-t480.sh rsyncs the repo compose file. Remove it so the gateway runs in trusted-proxy mode; the agenteval proxy authenticates via x-forwarded-user.
40 lines
1.5 KiB
YAML
40 lines
1.5 KiB
YAML
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。OpenClaw 认证用 trusted-proxy
|
||
# 模式(与 agenteval 代理的 x-forwarded-user 匹配);若同时注入共享
|
||
# token,gateway 会因 trusted-proxy 与 token 互斥而启动失败。
|
||
restart: unless-stopped
|