docker-compose.yml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. services:
  2. # 内容寻找 Agent 服务
  3. content-finder:
  4. image: registry.cn-hangzhou.aliyuncs.com/stuuudy/content-finder-agent:${VERSION:-latest}
  5. build:
  6. context: .
  7. dockerfile: Dockerfile.content-finder
  8. container_name: content-finder-agent
  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. - TIKHUB_API_KEY=${TIKHUB_API_KEY}
  18. - MODEL=${MODEL:-anthropic/claude-sonnet-4.6}
  19. - TEMPERATURE=${TEMPERATURE:-0.3}
  20. - MAX_ITERATIONS=${MAX_ITERATIONS:-30}
  21. - TRACE_DIR=/app/.trace
  22. - OUTPUT_DIR=/app/.output
  23. - SKILLS_DIR=./skills
  24. - ENABLED_SKILLS=${ENABLED_SKILLS:-}
  25. - PORT=8080
  26. - MAX_CONCURRENT_TASKS=${MAX_CONCURRENT_TASKS:-1}
  27. - SCHEDULE_QUERY_API=${SCHEDULE_QUERY_API:-}
  28. - SCHEDULE_QUERY_API_TIMEOUT=${SCHEDULE_QUERY_API_TIMEOUT:-10.0}
  29. - KNOWHUB_API=${KNOWHUB_API:-http://43.106.118.91:9999}
  30. - ALIYUN_OSS_ACCESS_KEY_ID=${ALIYUN_OSS_ACCESS_KEY_ID}
  31. - ALIYUN_OSS_ACCESS_KEY_SECRET=${ALIYUN_OSS_ACCESS_KEY_SECRET}
  32. - ALIYUN_OSS_REGION=${ALIYUN_OSS_REGION}
  33. - ALIYUN_OSS_BUCKET=${ALIYUN_OSS_BUCKET}
  34. - ALIYUN_OSS_PREFIX=${ALIYUN_OSS_PREFIX}
  35. - ALIYUN_OSS_PUBLIC_BASE_URL=${ALIYUN_OSS_PUBLIC_BASE_URL}
  36. healthcheck:
  37. test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
  38. interval: 30s
  39. timeout: 10s
  40. retries: 3
  41. start_period: 40s
  42. # 可视化 API 服务
  43. api-server:
  44. image: registry.cn-hangzhou.aliyuncs.com/stuuudy/content-finder-agent-api-server:${VERSION:-latest}
  45. build:
  46. context: .
  47. dockerfile: Dockerfile.api-server
  48. container_name: content-finder-agent-api-server
  49. restart: unless-stopped
  50. ports:
  51. - "8000:8000"
  52. volumes:
  53. - /home/data/trace:/app/.trace
  54. healthcheck:
  55. test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
  56. interval: 30s
  57. timeout: 10s
  58. retries: 3
  59. start_period: 40s
  60. # 前端服务
  61. frontend:
  62. image: registry.cn-hangzhou.aliyuncs.com/stuuudy/content-finder-agent-frontend:${VERSION:-latest}
  63. build:
  64. context: .
  65. dockerfile: Dockerfile.frontend
  66. container_name: content-finder-agent-frontend
  67. restart: unless-stopped
  68. ports:
  69. - "3000:3000"
  70. healthcheck:
  71. test: ["CMD", "curl", "-f", "http://localhost:3000"]
  72. interval: 30s
  73. timeout: 10s
  74. retries: 3
  75. start_period: 10s