# 一键起 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