| # 一键起 evetool 整栈 | |
| # 用法: docker compose up --build | |
| # curl http://localhost:3111/health | |
| # curl -N http://localhost:7860/mcp (mcp streamable http) | |
| # docker compose exec evetool iii trigger --function-id engine::functions::list --payload '{}' | |
| services: | |
| evetool: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile | |
| image: evetool:dev | |
| container_name: evetool | |
| restart: unless-stopped | |
| ports: | |
| # 容器内部端口固定 (iii 引擎 / mcp-gateway 写死), 主机端口避开 Windows 排除范围 (3103-3202, 9644-9743) 和已占用 7860 | |
| - "4111:3111" # iii-http (engine introspection + function HTTP 端点) | |
| - "4112:3112" # iii-stream | |
| - "7861:7860" # mcp-gateway (外部 7861, 内部 7860) | |
| - "9464:9464" # prometheus (9464 在 Windows 保留范围外) | |
| # 49134 不映射: 私有 worker WS, 仅容器内 | |
| volumes: | |
| # 持久化轻量 (HF Space 上还是非持久, 本地开发能看到日志) | |
| - ./data:/opt/evetool/data | |
| environment: | |
| - III_URL=ws://127.0.0.1:49134 | |
| - LIGHTPANDA_LOG_DIR=/opt/evetool/data/lightpanda | |
| healthcheck: | |
| # iii-http 不一定有 /health, 这里只看端口在不在 | |
| test: ["CMD", "bash", "-c", "(echo > /dev/tcp/127.0.0.1/3111) && (echo > /dev/tcp/127.0.0.1/49134) && (echo > /dev/tcp/127.0.0.1/7860)"] | |
| interval: 5s | |
| timeout: 3s | |
| retries: 5 | |
| start_period: 30s | |