docker-compose.yml 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662
  1. x-agent-platform-common-env: &agent-platform-common-env
  2. AGENT_PLATFORM_INTERNAL_SERVICE_AUTH_REQUIRED: ${AGENT_PLATFORM_INTERNAL_SERVICE_AUTH_REQUIRED:-false}
  3. AGENT_PLATFORM_INTERNAL_SERVICE_TOKEN: ${AGENT_PLATFORM_INTERNAL_SERVICE_TOKEN:-}
  4. AGENT_PLATFORM_CREDENTIAL_ENCRYPTION_KEY: ${AGENT_PLATFORM_CREDENTIAL_ENCRYPTION_KEY:-local-development-credential-key}
  5. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://:H1v6U8uTMnByJ0SO@git.newpoint.work:6379/0}
  6. services:
  7. postgres:
  8. image: pgvector/pgvector:pg16
  9. container_name: pgsql-vector
  10. restart: always
  11. environment:
  12. POSTGRES_USER: ${AGENT_PLATFORM_POSTGRES_USER:-admin}
  13. POSTGRES_PASSWORD: ${AGENT_PLATFORM_POSTGRES_PASSWORD:-hFOvG5UBeK5KIGhz5cQH}
  14. POSTGRES_DB: ${AGENT_PLATFORM_POSTGRES_DB:-vectordb}
  15. ports:
  16. - "5432:5432"
  17. volumes:
  18. - postgres_data:/var/lib/postgresql/data
  19. - ./postgres-init:/docker-entrypoint-initdb.d:ro
  20. healthcheck:
  21. test: ["CMD-SHELL", "pg_isready -U ${AGENT_PLATFORM_POSTGRES_USER:-admin} -d ${AGENT_PLATFORM_POSTGRES_DB:-vectordb}"]
  22. interval: 10s
  23. timeout: 5s
  24. retries: 10
  25. redis:
  26. image: redis:latest
  27. container_name: redis
  28. restart: unless-stopped
  29. command: ["sh", "-c", "redis-server --appendonly yes --requirepass \"$$REDIS_PASSWORD\""]
  30. environment:
  31. REDIS_PASSWORD: ${AGENT_PLATFORM_REDIS_PASSWORD:-H1v6U8uTMnByJ0SO}
  32. ports:
  33. - "6379:6379"
  34. volumes:
  35. - redis_data:/data
  36. healthcheck:
  37. test: ["CMD-SHELL", "redis-cli -a \"$$REDIS_PASSWORD\" ping | grep PONG"]
  38. interval: 10s
  39. timeout: 5s
  40. retries: 10
  41. minio:
  42. image: minio/minio:RELEASE.2025-04-22T22-12-26Z
  43. container_name: agent-platform-minio
  44. command: ["server", "/data", "--console-address", ":9001"]
  45. environment:
  46. MINIO_ROOT_USER: ${AGENT_PLATFORM_MINIO_ROOT_USER:-minioadmin}
  47. MINIO_ROOT_PASSWORD: ${AGENT_PLATFORM_MINIO_ROOT_PASSWORD:-minioadmin}
  48. ports:
  49. - "9000:9000"
  50. - "9001:9001"
  51. volumes:
  52. - minio_data:/data
  53. minio-init:
  54. image: minio/mc:RELEASE.2025-04-16T18-13-26Z
  55. depends_on:
  56. minio:
  57. condition: service_started
  58. entrypoint:
  59. - /bin/sh
  60. - -c
  61. - |
  62. until mc alias set local http://minio:9000 "$$MINIO_ROOT_USER" "$$MINIO_ROOT_PASSWORD"; do
  63. sleep 1
  64. done
  65. mc mb --ignore-existing "local/$$KNOWLEDGE_BUCKET"
  66. environment:
  67. MINIO_ROOT_USER: ${AGENT_PLATFORM_MINIO_ROOT_USER:-minioadmin}
  68. MINIO_ROOT_PASSWORD: ${AGENT_PLATFORM_MINIO_ROOT_PASSWORD:-minioadmin}
  69. KNOWLEDGE_BUCKET: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_BUCKET:-agent-platform-knowledge}
  70. prometheus:
  71. image: prom/prometheus:v2.54.1
  72. container_name: agent-platform-prometheus
  73. command:
  74. - "--config.file=/etc/prometheus/prometheus.yml"
  75. - "--storage.tsdb.path=/prometheus"
  76. ports:
  77. - "9090:9090"
  78. volumes:
  79. - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
  80. - prometheus_data:/prometheus
  81. depends_on:
  82. api-gateway:
  83. condition: service_started
  84. session-service:
  85. condition: service_started
  86. tool-service:
  87. condition: service_started
  88. model-gateway-service:
  89. condition: service_started
  90. code-runner-service:
  91. condition: service_started
  92. agent-service:
  93. condition: service_started
  94. memory-service:
  95. condition: service_started
  96. team-service:
  97. condition: service_started
  98. skill-service:
  99. condition: service_started
  100. human-service:
  101. condition: service_started
  102. knowledge-service:
  103. condition: service_started
  104. event-service:
  105. condition: service_started
  106. auth-service:
  107. condition: service_started
  108. scheduler-service:
  109. condition: service_started
  110. session-service:
  111. build:
  112. context: ../..
  113. dockerfile: deployments/docker/python-service.Dockerfile
  114. args:
  115. SERVICE_PATH: services/session-service
  116. container_name: agent-platform-session-service
  117. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8001"]
  118. environment:
  119. <<: *agent-platform-common-env
  120. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_SESSION_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  121. ports:
  122. - "8001:8001"
  123. volumes:
  124. - session_service_data:/data
  125. healthcheck:
  126. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8001/sessions/health').read()"]
  127. interval: 15s
  128. timeout: 5s
  129. retries: 5
  130. tool-service:
  131. build:
  132. context: ../..
  133. dockerfile: deployments/docker/python-service.Dockerfile
  134. args:
  135. SERVICE_PATH: services/tool-service
  136. container_name: agent-platform-tool-service
  137. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8004"]
  138. environment:
  139. <<: *agent-platform-common-env
  140. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_TOOL_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  141. ports:
  142. - "8004:8004"
  143. volumes:
  144. - tool_service_data:/data
  145. healthcheck:
  146. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8004/tools/health').read()"]
  147. interval: 15s
  148. timeout: 5s
  149. retries: 5
  150. tool-worker:
  151. build:
  152. context: ../..
  153. dockerfile: deployments/docker/python-service.Dockerfile
  154. args:
  155. SERVICE_PATH: services/tool-service
  156. command: ["python", "-m", "app.worker"]
  157. environment:
  158. <<: *agent-platform-common-env
  159. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_TOOL_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  160. AGENT_PLATFORM_MCP_DISCOVERY_TIMEOUT_SECONDS: ${AGENT_PLATFORM_MCP_DISCOVERY_TIMEOUT_SECONDS:-5}
  161. AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1}
  162. AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-120}
  163. AGENT_PLATFORM_WORKER_STALE_DISCOVERY_SECONDS: ${AGENT_PLATFORM_TOOL_WORKER_STALE_DISCOVERY_SECONDS:-300}
  164. volumes:
  165. - tool_service_data:/data
  166. depends_on:
  167. tool-service:
  168. condition: service_started
  169. model-gateway-service:
  170. build:
  171. context: ../..
  172. dockerfile: deployments/docker/python-service.Dockerfile
  173. args:
  174. SERVICE_PATH: services/model-gateway-service
  175. container_name: agent-platform-model-gateway-service
  176. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8005"]
  177. environment:
  178. <<: *agent-platform-common-env
  179. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_MODEL_GATEWAY_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  180. AGENT_PLATFORM_PROVIDER_BASE_URL: ${AGENT_PLATFORM_PROVIDER_BASE_URL:-http://host.docker.internal:11434/v1}
  181. AGENT_PLATFORM_PROVIDER_API_KEY: ${AGENT_PLATFORM_PROVIDER_API_KEY:-}
  182. AGENT_PLATFORM_DEFAULT_MODEL: ${AGENT_PLATFORM_DEFAULT_MODEL:-}
  183. ports:
  184. - "8005:8005"
  185. volumes:
  186. - model_gateway_service_data:/data
  187. healthcheck:
  188. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8005/models/health').read()"]
  189. interval: 15s
  190. timeout: 5s
  191. retries: 5
  192. code-runner-service:
  193. build:
  194. context: ../..
  195. dockerfile: deployments/docker/python-service.Dockerfile
  196. args:
  197. SERVICE_PATH: services/code-runner-service
  198. container_name: agent-platform-code-runner-service
  199. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8006"]
  200. environment:
  201. <<: *agent-platform-common-env
  202. AGENT_PLATFORM_PYTHON_BIN: python
  203. AGENT_PLATFORM_MAX_TIMEOUT_SECONDS: ${AGENT_PLATFORM_MAX_TIMEOUT_SECONDS:-30}
  204. ports:
  205. - "8006:8006"
  206. healthcheck:
  207. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8006/code/health').read()"]
  208. interval: 15s
  209. timeout: 5s
  210. retries: 5
  211. agent-service:
  212. build:
  213. context: ../..
  214. dockerfile: deployments/docker/python-service.Dockerfile
  215. args:
  216. SERVICE_PATH: services/agent-service
  217. container_name: agent-platform-agent-service
  218. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8007"]
  219. environment:
  220. <<: *agent-platform-common-env
  221. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_AGENT_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  222. AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005
  223. AGENT_PLATFORM_MEMORY_SERVICE_URL: http://memory-service:8008
  224. AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004
  225. AGENT_PLATFORM_SKILL_SERVICE_URL: http://skill-service:8010
  226. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  227. ports:
  228. - "8007:8007"
  229. volumes:
  230. - agent_service_data:/data
  231. depends_on:
  232. model-gateway-service:
  233. condition: service_started
  234. memory-service:
  235. condition: service_started
  236. tool-service:
  237. condition: service_started
  238. skill-service:
  239. condition: service_started
  240. event-service:
  241. condition: service_started
  242. healthcheck:
  243. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8007/agents/health').read()"]
  244. interval: 15s
  245. timeout: 5s
  246. retries: 5
  247. agent-worker:
  248. build:
  249. context: ../..
  250. dockerfile: deployments/docker/python-service.Dockerfile
  251. args:
  252. SERVICE_PATH: services/agent-service
  253. command: ["python", "-m", "app.worker"]
  254. environment:
  255. <<: *agent-platform-common-env
  256. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_AGENT_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  257. AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005
  258. AGENT_PLATFORM_MEMORY_SERVICE_URL: http://memory-service:8008
  259. AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004
  260. AGENT_PLATFORM_SKILL_SERVICE_URL: http://skill-service:8010
  261. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  262. AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1}
  263. AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-300}
  264. AGENT_PLATFORM_WORKER_DRY_RUN: ${AGENT_PLATFORM_AGENT_WORKER_DRY_RUN:-false}
  265. volumes:
  266. - agent_service_data:/data
  267. depends_on:
  268. model-gateway-service:
  269. condition: service_started
  270. memory-service:
  271. condition: service_started
  272. tool-service:
  273. condition: service_started
  274. skill-service:
  275. condition: service_started
  276. event-service:
  277. condition: service_started
  278. memory-service:
  279. build:
  280. context: ../..
  281. dockerfile: deployments/docker/python-service.Dockerfile
  282. args:
  283. SERVICE_PATH: services/memory-service
  284. container_name: agent-platform-memory-service
  285. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8008"]
  286. environment:
  287. <<: *agent-platform-common-env
  288. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_MEMORY_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  289. ports:
  290. - "8008:8008"
  291. volumes:
  292. - memory_service_data:/data
  293. healthcheck:
  294. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8008/memories/health').read()"]
  295. interval: 15s
  296. timeout: 5s
  297. retries: 5
  298. memory-worker:
  299. build:
  300. context: ../..
  301. dockerfile: deployments/docker/python-service.Dockerfile
  302. args:
  303. SERVICE_PATH: services/memory-service
  304. command: ["python", "-m", "app.worker"]
  305. environment:
  306. <<: *agent-platform-common-env
  307. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_MEMORY_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  308. AGENT_PLATFORM_SEARCH_CACHE_TTL_SECONDS: ${AGENT_PLATFORM_MEMORY_SEARCH_CACHE_TTL_SECONDS:-30}
  309. AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1}
  310. AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-120}
  311. volumes:
  312. - memory_service_data:/data
  313. depends_on:
  314. memory-service:
  315. condition: service_started
  316. team-service:
  317. build:
  318. context: ../..
  319. dockerfile: deployments/docker/python-service.Dockerfile
  320. args:
  321. SERVICE_PATH: services/team-service
  322. container_name: agent-platform-team-service
  323. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8009"]
  324. environment:
  325. <<: *agent-platform-common-env
  326. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_TEAM_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  327. AGENT_PLATFORM_AGENT_SERVICE_URL: http://agent-service:8007
  328. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  329. ports:
  330. - "8009:8009"
  331. volumes:
  332. - team_service_data:/data
  333. healthcheck:
  334. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8009/teams/health').read()"]
  335. interval: 15s
  336. timeout: 5s
  337. retries: 5
  338. team-worker:
  339. build:
  340. context: ../..
  341. dockerfile: deployments/docker/python-service.Dockerfile
  342. args:
  343. SERVICE_PATH: services/team-service
  344. command: ["python", "-m", "app.worker"]
  345. environment:
  346. <<: *agent-platform-common-env
  347. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_TEAM_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  348. AGENT_PLATFORM_AGENT_SERVICE_URL: http://agent-service:8007
  349. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  350. AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1}
  351. AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-300}
  352. AGENT_PLATFORM_WORKER_DRY_RUN: ${AGENT_PLATFORM_TEAM_WORKER_DRY_RUN:-true}
  353. volumes:
  354. - team_service_data:/data
  355. depends_on:
  356. agent-service:
  357. condition: service_started
  358. event-service:
  359. condition: service_started
  360. skill-service:
  361. build:
  362. context: ../..
  363. dockerfile: deployments/docker/python-service.Dockerfile
  364. args:
  365. SERVICE_PATH: services/skill-service
  366. container_name: agent-platform-skill-service
  367. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8010"]
  368. environment:
  369. <<: *agent-platform-common-env
  370. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_SKILL_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  371. ports:
  372. - "8010:8010"
  373. volumes:
  374. - skill_service_data:/data
  375. healthcheck:
  376. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8010/skills/health').read()"]
  377. interval: 15s
  378. timeout: 5s
  379. retries: 5
  380. human-service:
  381. build:
  382. context: ../..
  383. dockerfile: deployments/docker/python-service.Dockerfile
  384. args:
  385. SERVICE_PATH: services/human-service
  386. container_name: agent-platform-human-service
  387. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8011"]
  388. environment:
  389. <<: *agent-platform-common-env
  390. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_HUMAN_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  391. ports:
  392. - "8011:8011"
  393. volumes:
  394. - human_service_data:/data
  395. healthcheck:
  396. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8011/human/health').read()"]
  397. interval: 15s
  398. timeout: 5s
  399. retries: 5
  400. knowledge-service:
  401. build:
  402. context: ../..
  403. dockerfile: deployments/docker/python-service.Dockerfile
  404. args:
  405. SERVICE_PATH: services/knowledge-service
  406. container_name: agent-platform-knowledge-service
  407. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8012"]
  408. environment:
  409. <<: *agent-platform-common-env
  410. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_KNOWLEDGE_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  411. AGENT_PLATFORM_EMBEDDING_PROVIDER: ${AGENT_PLATFORM_EMBEDDING_PROVIDER:-local}
  412. AGENT_PLATFORM_EMBEDDING_BASE_URL: ${AGENT_PLATFORM_EMBEDDING_BASE_URL:-}
  413. AGENT_PLATFORM_EMBEDDING_API_KEY: ${AGENT_PLATFORM_EMBEDDING_API_KEY:-}
  414. AGENT_PLATFORM_EMBEDDING_MODEL: ${AGENT_PLATFORM_EMBEDDING_MODEL:-local-hash-v1}
  415. AGENT_PLATFORM_RETRIEVAL_KEYWORD_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_KEYWORD_WEIGHT:-0.55}
  416. AGENT_PLATFORM_RETRIEVAL_VECTOR_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_VECTOR_WEIGHT:-0.30}
  417. AGENT_PLATFORM_RETRIEVAL_RERANK_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_RERANK_WEIGHT:-0.15}
  418. AGENT_PLATFORM_RETRIEVAL_RERANK_ENABLED: ${AGENT_PLATFORM_RETRIEVAL_RERANK_ENABLED:-true}
  419. AGENT_PLATFORM_OBJECT_STORAGE_BACKEND: minio
  420. AGENT_PLATFORM_OBJECT_STORAGE_BUCKET: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_BUCKET:-agent-platform-knowledge}
  421. AGENT_PLATFORM_OBJECT_STORAGE_ENDPOINT_URL: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_ENDPOINT_URL:-http://minio:9000}
  422. AGENT_PLATFORM_OBJECT_STORAGE_ACCESS_KEY: ${AGENT_PLATFORM_MINIO_ROOT_USER:-minioadmin}
  423. AGENT_PLATFORM_OBJECT_STORAGE_SECRET_KEY: ${AGENT_PLATFORM_MINIO_ROOT_PASSWORD:-minioadmin}
  424. AGENT_PLATFORM_OBJECT_STORAGE_REGION: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_REGION:-us-east-1}
  425. AGENT_PLATFORM_OBJECT_STORAGE_PATH_STYLE: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_PATH_STYLE:-true}
  426. ports:
  427. - "8012:8012"
  428. volumes:
  429. - knowledge_service_data:/data
  430. depends_on:
  431. minio-init:
  432. condition: service_completed_successfully
  433. healthcheck:
  434. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8012/knowledge/health').read()"]
  435. interval: 15s
  436. timeout: 5s
  437. retries: 5
  438. knowledge-worker:
  439. build:
  440. context: ../..
  441. dockerfile: deployments/docker/python-service.Dockerfile
  442. args:
  443. SERVICE_PATH: services/knowledge-service
  444. command: ["python", "-m", "app.worker"]
  445. environment:
  446. <<: *agent-platform-common-env
  447. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_KNOWLEDGE_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  448. AGENT_PLATFORM_EMBEDDING_PROVIDER: ${AGENT_PLATFORM_EMBEDDING_PROVIDER:-local}
  449. AGENT_PLATFORM_EMBEDDING_BASE_URL: ${AGENT_PLATFORM_EMBEDDING_BASE_URL:-}
  450. AGENT_PLATFORM_EMBEDDING_API_KEY: ${AGENT_PLATFORM_EMBEDDING_API_KEY:-}
  451. AGENT_PLATFORM_EMBEDDING_MODEL: ${AGENT_PLATFORM_EMBEDDING_MODEL:-local-hash-v1}
  452. AGENT_PLATFORM_RETRIEVAL_KEYWORD_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_KEYWORD_WEIGHT:-0.55}
  453. AGENT_PLATFORM_RETRIEVAL_VECTOR_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_VECTOR_WEIGHT:-0.30}
  454. AGENT_PLATFORM_RETRIEVAL_RERANK_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_RERANK_WEIGHT:-0.15}
  455. AGENT_PLATFORM_RETRIEVAL_RERANK_ENABLED: ${AGENT_PLATFORM_RETRIEVAL_RERANK_ENABLED:-true}
  456. AGENT_PLATFORM_OBJECT_STORAGE_BACKEND: minio
  457. AGENT_PLATFORM_OBJECT_STORAGE_BUCKET: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_BUCKET:-agent-platform-knowledge}
  458. AGENT_PLATFORM_OBJECT_STORAGE_ENDPOINT_URL: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_ENDPOINT_URL:-http://minio:9000}
  459. AGENT_PLATFORM_OBJECT_STORAGE_ACCESS_KEY: ${AGENT_PLATFORM_MINIO_ROOT_USER:-minioadmin}
  460. AGENT_PLATFORM_OBJECT_STORAGE_SECRET_KEY: ${AGENT_PLATFORM_MINIO_ROOT_PASSWORD:-minioadmin}
  461. AGENT_PLATFORM_OBJECT_STORAGE_REGION: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_REGION:-us-east-1}
  462. AGENT_PLATFORM_OBJECT_STORAGE_PATH_STYLE: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_PATH_STYLE:-true}
  463. AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1}
  464. AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-300}
  465. AGENT_PLATFORM_WORKER_STALE_INDEXING_SECONDS: ${AGENT_PLATFORM_KNOWLEDGE_WORKER_STALE_INDEXING_SECONDS:-600}
  466. volumes:
  467. - knowledge_service_data:/data
  468. depends_on:
  469. knowledge-service:
  470. condition: service_started
  471. minio-init:
  472. condition: service_completed_successfully
  473. event-service:
  474. build:
  475. context: ../..
  476. dockerfile: deployments/docker/python-service.Dockerfile
  477. args:
  478. SERVICE_PATH: services/event-service
  479. container_name: agent-platform-event-service
  480. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8013"]
  481. environment:
  482. <<: *agent-platform-common-env
  483. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_EVENT_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  484. ports:
  485. - "8013:8013"
  486. volumes:
  487. - event_service_data:/data
  488. healthcheck:
  489. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8013/events/health').read()"]
  490. interval: 15s
  491. timeout: 5s
  492. retries: 5
  493. auth-service:
  494. build:
  495. context: ../..
  496. dockerfile: deployments/docker/python-service.Dockerfile
  497. args:
  498. SERVICE_PATH: services/auth-service
  499. container_name: agent-platform-auth-service
  500. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8014"]
  501. environment:
  502. <<: *agent-platform-common-env
  503. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_AUTH_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  504. ports:
  505. - "8014:8014"
  506. volumes:
  507. - auth_service_data:/data
  508. healthcheck:
  509. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8014/identity/health').read()"]
  510. interval: 15s
  511. timeout: 5s
  512. retries: 5
  513. scheduler-service:
  514. build:
  515. context: ../..
  516. dockerfile: deployments/docker/python-service.Dockerfile
  517. args:
  518. SERVICE_PATH: services/scheduler-service
  519. container_name: agent-platform-scheduler-service
  520. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8015"]
  521. environment:
  522. <<: *agent-platform-common-env
  523. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_SCHEDULER_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  524. ports:
  525. - "8015:8015"
  526. volumes:
  527. - scheduler_service_data:/data
  528. healthcheck:
  529. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8015/scheduler/health').read()"]
  530. interval: 15s
  531. timeout: 5s
  532. retries: 5
  533. scheduler-worker:
  534. build:
  535. context: ../..
  536. dockerfile: deployments/docker/python-service.Dockerfile
  537. args:
  538. SERVICE_PATH: services/scheduler-service
  539. command: ["python", "-m", "app.worker"]
  540. environment:
  541. <<: *agent-platform-common-env
  542. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_SCHEDULER_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  543. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  544. AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1}
  545. AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-300}
  546. AGENT_PLATFORM_WORKER_CLAIM_LIMIT: ${AGENT_PLATFORM_SCHEDULER_WORKER_CLAIM_LIMIT:-20}
  547. volumes:
  548. - scheduler_service_data:/data
  549. depends_on:
  550. scheduler-service:
  551. condition: service_started
  552. event-service:
  553. condition: service_started
  554. api-gateway:
  555. build:
  556. context: ../..
  557. dockerfile: deployments/docker/python-service.Dockerfile
  558. args:
  559. SERVICE_PATH: services/api-gateway
  560. container_name: agent-platform-api-gateway
  561. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
  562. environment:
  563. <<: *agent-platform-common-env
  564. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_API_GATEWAY_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  565. AGENT_PLATFORM_SESSION_SERVICE_URL: http://session-service:8001
  566. AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004
  567. AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005
  568. AGENT_PLATFORM_CODE_RUNNER_SERVICE_URL: http://code-runner-service:8006
  569. AGENT_PLATFORM_AGENT_SERVICE_URL: http://agent-service:8007
  570. AGENT_PLATFORM_MEMORY_SERVICE_URL: http://memory-service:8008
  571. AGENT_PLATFORM_TEAM_SERVICE_URL: http://team-service:8009
  572. AGENT_PLATFORM_SKILL_SERVICE_URL: http://skill-service:8010
  573. AGENT_PLATFORM_HUMAN_SERVICE_URL: http://human-service:8011
  574. AGENT_PLATFORM_KNOWLEDGE_SERVICE_URL: http://knowledge-service:8012
  575. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  576. AGENT_PLATFORM_AUTH_SERVICE_URL: http://auth-service:8014
  577. AGENT_PLATFORM_SCHEDULER_SERVICE_URL: http://scheduler-service:8015
  578. AGENT_PLATFORM_AUTH_REQUIRED: ${AGENT_PLATFORM_AUTH_REQUIRED:-true}
  579. AGENT_PLATFORM_AUTHZ_REQUIRED: ${AGENT_PLATFORM_AUTHZ_REQUIRED:-false}
  580. AGENT_PLATFORM_RATE_LIMIT_ENABLED: ${AGENT_PLATFORM_RATE_LIMIT_ENABLED:-false}
  581. AGENT_PLATFORM_GLOBAL_RATE_LIMIT_PER_MINUTE: ${AGENT_PLATFORM_GLOBAL_RATE_LIMIT_PER_MINUTE:-600}
  582. AGENT_PLATFORM_API_KEY_RATE_LIMIT_PER_MINUTE: ${AGENT_PLATFORM_API_KEY_RATE_LIMIT_PER_MINUTE:-1200}
  583. ports:
  584. - "8000:8000"
  585. volumes:
  586. - api_gateway_data:/data
  587. depends_on:
  588. session-service:
  589. condition: service_started
  590. tool-service:
  591. condition: service_started
  592. model-gateway-service:
  593. condition: service_started
  594. code-runner-service:
  595. condition: service_started
  596. agent-service:
  597. condition: service_started
  598. memory-service:
  599. condition: service_started
  600. team-service:
  601. condition: service_started
  602. skill-service:
  603. condition: service_started
  604. human-service:
  605. condition: service_started
  606. knowledge-service:
  607. condition: service_started
  608. event-service:
  609. condition: service_started
  610. auth-service:
  611. condition: service_started
  612. scheduler-service:
  613. condition: service_started
  614. healthcheck:
  615. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health').read()"]
  616. interval: 15s
  617. timeout: 5s
  618. retries: 5
  619. volumes:
  620. postgres_data:
  621. redis_data:
  622. minio_data:
  623. prometheus_data:
  624. api_gateway_data:
  625. agent_service_data:
  626. memory_service_data:
  627. team_service_data:
  628. skill_service_data:
  629. human_service_data:
  630. knowledge_service_data:
  631. event_service_data:
  632. auth_service_data:
  633. scheduler_service_data:
  634. session_service_data:
  635. tool_service_data:
  636. model_gateway_service_data: