docker-compose.yml 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. services:
  2. # 内容寻找 Agent 服务
  3. content-finder:
  4. image: registry.cn-hangzhou.aliyuncs.com/stuuudy/content-finder-agent:latest
  5. build:
  6. context: .
  7. dockerfile: Dockerfile.content-finder
  8. container_name: agent-content-finder
  9. restart: unless-stopped
  10. ports:
  11. - "8080:8080"
  12. volumes:
  13. - /home/data/trace:/app/.trace
  14. - /home/data/output:/app/.output
  15. environment:
  16. - OPEN_ROUTER_API_KEY=${OPEN_ROUTER_API_KEY}
  17. - MODEL=${MODEL:-anthropic/claude-sonnet-4.6}
  18. - TEMPERATURE=${TEMPERATURE:-0.3}
  19. - MAX_ITERATIONS=${MAX_ITERATIONS:-30}
  20. - TRACE_DIR=/app/.trace
  21. - OUTPUT_DIR=/app/.output
  22. - PORT=8080
  23. - MAX_CONCURRENT_TASKS=${MAX_CONCURRENT_TASKS:-3}
  24. healthcheck:
  25. test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
  26. interval: 30s
  27. timeout: 10s
  28. retries: 3
  29. start_period: 40s
  30. # 可视化 API 服务
  31. api-server:
  32. image: registry.cn-hangzhou.aliyuncs.com/stuuudy/content-finder-agent-api-server:latest
  33. build:
  34. context: .
  35. dockerfile: Dockerfile.api-server
  36. container_name: agent-api-server
  37. restart: unless-stopped
  38. ports:
  39. - "8000:8000"
  40. volumes:
  41. - /home/data/trace:/app/.trace
  42. healthcheck:
  43. test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
  44. interval: 30s
  45. timeout: 10s
  46. retries: 3
  47. start_period: 40s
  48. # 前端服务
  49. frontend:
  50. image: registry.cn-hangzhou.aliyuncs.com/stuuudy/content-finder-agent-frontend:latest
  51. build:
  52. context: .
  53. dockerfile: Dockerfile.frontend
  54. container_name: agent-frontend
  55. restart: unless-stopped
  56. ports:
  57. - "3000:3000"
  58. healthcheck:
  59. test: ["CMD", "curl", "-f", "http://localhost:3000"]
  60. interval: 30s
  61. timeout: 10s
  62. retries: 3
  63. start_period: 10s