docker-compose.yml 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794
  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. workflow-service:
  87. condition: service_started
  88. runtime-service:
  89. condition: service_started
  90. tool-service:
  91. condition: service_started
  92. model-gateway-service:
  93. condition: service_started
  94. code-runner-service:
  95. condition: service_started
  96. agent-service:
  97. condition: service_started
  98. memory-service:
  99. condition: service_started
  100. team-service:
  101. condition: service_started
  102. skill-service:
  103. condition: service_started
  104. human-service:
  105. condition: service_started
  106. knowledge-service:
  107. condition: service_started
  108. event-service:
  109. condition: service_started
  110. auth-service:
  111. condition: service_started
  112. scheduler-service:
  113. condition: service_started
  114. workflow-service:
  115. build:
  116. context: ../..
  117. dockerfile: deployments/docker/python-service.Dockerfile
  118. args:
  119. SERVICE_PATH: services/workflow-service
  120. container_name: agent-platform-workflow-service
  121. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8002"]
  122. environment:
  123. <<: *agent-platform-common-env
  124. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_WORKFLOW_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  125. ports:
  126. - "8002:8002"
  127. volumes:
  128. - workflow_service_data:/data
  129. healthcheck:
  130. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8002/workflows/health').read()"]
  131. interval: 15s
  132. timeout: 5s
  133. retries: 5
  134. session-service:
  135. build:
  136. context: ../..
  137. dockerfile: deployments/docker/python-service.Dockerfile
  138. args:
  139. SERVICE_PATH: services/session-service
  140. container_name: agent-platform-session-service
  141. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8001"]
  142. environment:
  143. <<: *agent-platform-common-env
  144. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_SESSION_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  145. AGENT_PLATFORM_RUNTIME_SERVICE_URL: http://runtime-service:8003
  146. ports:
  147. - "8001:8001"
  148. volumes:
  149. - session_service_data:/data
  150. depends_on:
  151. runtime-service:
  152. condition: service_started
  153. healthcheck:
  154. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8001/sessions/health').read()"]
  155. interval: 15s
  156. timeout: 5s
  157. retries: 5
  158. tool-service:
  159. build:
  160. context: ../..
  161. dockerfile: deployments/docker/python-service.Dockerfile
  162. args:
  163. SERVICE_PATH: services/tool-service
  164. container_name: agent-platform-tool-service
  165. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8004"]
  166. environment:
  167. <<: *agent-platform-common-env
  168. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_TOOL_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  169. ports:
  170. - "8004:8004"
  171. volumes:
  172. - tool_service_data:/data
  173. healthcheck:
  174. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8004/tools/health').read()"]
  175. interval: 15s
  176. timeout: 5s
  177. retries: 5
  178. tool-worker:
  179. build:
  180. context: ../..
  181. dockerfile: deployments/docker/python-service.Dockerfile
  182. args:
  183. SERVICE_PATH: services/tool-service
  184. command: ["python", "-m", "app.worker"]
  185. environment:
  186. <<: *agent-platform-common-env
  187. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_TOOL_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  188. AGENT_PLATFORM_MCP_DISCOVERY_TIMEOUT_SECONDS: ${AGENT_PLATFORM_MCP_DISCOVERY_TIMEOUT_SECONDS:-5}
  189. AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1}
  190. AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-120}
  191. AGENT_PLATFORM_WORKER_STALE_DISCOVERY_SECONDS: ${AGENT_PLATFORM_TOOL_WORKER_STALE_DISCOVERY_SECONDS:-300}
  192. volumes:
  193. - tool_service_data:/data
  194. depends_on:
  195. tool-service:
  196. condition: service_started
  197. model-gateway-service:
  198. build:
  199. context: ../..
  200. dockerfile: deployments/docker/python-service.Dockerfile
  201. args:
  202. SERVICE_PATH: services/model-gateway-service
  203. container_name: agent-platform-model-gateway-service
  204. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8005"]
  205. environment:
  206. <<: *agent-platform-common-env
  207. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_MODEL_GATEWAY_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  208. AGENT_PLATFORM_PROVIDER_BASE_URL: ${AGENT_PLATFORM_PROVIDER_BASE_URL:-http://host.docker.internal:11434/v1}
  209. AGENT_PLATFORM_PROVIDER_API_KEY: ${AGENT_PLATFORM_PROVIDER_API_KEY:-}
  210. AGENT_PLATFORM_DEFAULT_MODEL: ${AGENT_PLATFORM_DEFAULT_MODEL:-}
  211. ports:
  212. - "8005:8005"
  213. volumes:
  214. - model_gateway_service_data:/data
  215. healthcheck:
  216. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8005/models/health').read()"]
  217. interval: 15s
  218. timeout: 5s
  219. retries: 5
  220. code-runner-service:
  221. build:
  222. context: ../..
  223. dockerfile: deployments/docker/python-service.Dockerfile
  224. args:
  225. SERVICE_PATH: services/code-runner-service
  226. container_name: agent-platform-code-runner-service
  227. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8006"]
  228. environment:
  229. <<: *agent-platform-common-env
  230. AGENT_PLATFORM_PYTHON_BIN: python
  231. AGENT_PLATFORM_MAX_TIMEOUT_SECONDS: ${AGENT_PLATFORM_MAX_TIMEOUT_SECONDS:-30}
  232. ports:
  233. - "8006:8006"
  234. healthcheck:
  235. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8006/code/health').read()"]
  236. interval: 15s
  237. timeout: 5s
  238. retries: 5
  239. agent-service:
  240. build:
  241. context: ../..
  242. dockerfile: deployments/docker/python-service.Dockerfile
  243. args:
  244. SERVICE_PATH: services/agent-service
  245. container_name: agent-platform-agent-service
  246. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8007"]
  247. environment:
  248. <<: *agent-platform-common-env
  249. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_AGENT_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  250. AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005
  251. AGENT_PLATFORM_MEMORY_SERVICE_URL: http://memory-service:8008
  252. AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004
  253. AGENT_PLATFORM_SKILL_SERVICE_URL: http://skill-service:8010
  254. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  255. ports:
  256. - "8007:8007"
  257. volumes:
  258. - agent_service_data:/data
  259. depends_on:
  260. model-gateway-service:
  261. condition: service_started
  262. memory-service:
  263. condition: service_started
  264. tool-service:
  265. condition: service_started
  266. skill-service:
  267. condition: service_started
  268. event-service:
  269. condition: service_started
  270. healthcheck:
  271. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8007/agents/health').read()"]
  272. interval: 15s
  273. timeout: 5s
  274. retries: 5
  275. agent-worker:
  276. build:
  277. context: ../..
  278. dockerfile: deployments/docker/python-service.Dockerfile
  279. args:
  280. SERVICE_PATH: services/agent-service
  281. command: ["python", "-m", "app.worker"]
  282. environment:
  283. <<: *agent-platform-common-env
  284. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_AGENT_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  285. AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005
  286. AGENT_PLATFORM_MEMORY_SERVICE_URL: http://memory-service:8008
  287. AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004
  288. AGENT_PLATFORM_SKILL_SERVICE_URL: http://skill-service:8010
  289. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  290. AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1}
  291. AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-300}
  292. AGENT_PLATFORM_WORKER_DRY_RUN: ${AGENT_PLATFORM_AGENT_WORKER_DRY_RUN:-false}
  293. volumes:
  294. - agent_service_data:/data
  295. depends_on:
  296. model-gateway-service:
  297. condition: service_started
  298. memory-service:
  299. condition: service_started
  300. tool-service:
  301. condition: service_started
  302. skill-service:
  303. condition: service_started
  304. event-service:
  305. condition: service_started
  306. memory-service:
  307. build:
  308. context: ../..
  309. dockerfile: deployments/docker/python-service.Dockerfile
  310. args:
  311. SERVICE_PATH: services/memory-service
  312. container_name: agent-platform-memory-service
  313. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8008"]
  314. environment:
  315. <<: *agent-platform-common-env
  316. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_MEMORY_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  317. ports:
  318. - "8008:8008"
  319. volumes:
  320. - memory_service_data:/data
  321. healthcheck:
  322. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8008/memories/health').read()"]
  323. interval: 15s
  324. timeout: 5s
  325. retries: 5
  326. memory-worker:
  327. build:
  328. context: ../..
  329. dockerfile: deployments/docker/python-service.Dockerfile
  330. args:
  331. SERVICE_PATH: services/memory-service
  332. command: ["python", "-m", "app.worker"]
  333. environment:
  334. <<: *agent-platform-common-env
  335. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_MEMORY_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  336. AGENT_PLATFORM_SEARCH_CACHE_TTL_SECONDS: ${AGENT_PLATFORM_MEMORY_SEARCH_CACHE_TTL_SECONDS:-30}
  337. AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1}
  338. AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-120}
  339. volumes:
  340. - memory_service_data:/data
  341. depends_on:
  342. memory-service:
  343. condition: service_started
  344. team-service:
  345. build:
  346. context: ../..
  347. dockerfile: deployments/docker/python-service.Dockerfile
  348. args:
  349. SERVICE_PATH: services/team-service
  350. container_name: agent-platform-team-service
  351. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8009"]
  352. environment:
  353. <<: *agent-platform-common-env
  354. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_TEAM_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  355. AGENT_PLATFORM_AGENT_SERVICE_URL: http://agent-service:8007
  356. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  357. ports:
  358. - "8009:8009"
  359. volumes:
  360. - team_service_data:/data
  361. healthcheck:
  362. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8009/teams/health').read()"]
  363. interval: 15s
  364. timeout: 5s
  365. retries: 5
  366. team-worker:
  367. build:
  368. context: ../..
  369. dockerfile: deployments/docker/python-service.Dockerfile
  370. args:
  371. SERVICE_PATH: services/team-service
  372. command: ["python", "-m", "app.worker"]
  373. environment:
  374. <<: *agent-platform-common-env
  375. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_TEAM_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  376. AGENT_PLATFORM_AGENT_SERVICE_URL: http://agent-service:8007
  377. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  378. AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1}
  379. AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-300}
  380. AGENT_PLATFORM_WORKER_DRY_RUN: ${AGENT_PLATFORM_TEAM_WORKER_DRY_RUN:-true}
  381. volumes:
  382. - team_service_data:/data
  383. depends_on:
  384. agent-service:
  385. condition: service_started
  386. event-service:
  387. condition: service_started
  388. skill-service:
  389. build:
  390. context: ../..
  391. dockerfile: deployments/docker/python-service.Dockerfile
  392. args:
  393. SERVICE_PATH: services/skill-service
  394. container_name: agent-platform-skill-service
  395. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8010"]
  396. environment:
  397. <<: *agent-platform-common-env
  398. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_SKILL_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  399. ports:
  400. - "8010:8010"
  401. volumes:
  402. - skill_service_data:/data
  403. healthcheck:
  404. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8010/skills/health').read()"]
  405. interval: 15s
  406. timeout: 5s
  407. retries: 5
  408. human-service:
  409. build:
  410. context: ../..
  411. dockerfile: deployments/docker/python-service.Dockerfile
  412. args:
  413. SERVICE_PATH: services/human-service
  414. container_name: agent-platform-human-service
  415. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8011"]
  416. environment:
  417. <<: *agent-platform-common-env
  418. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_HUMAN_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  419. ports:
  420. - "8011:8011"
  421. volumes:
  422. - human_service_data:/data
  423. healthcheck:
  424. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8011/human/health').read()"]
  425. interval: 15s
  426. timeout: 5s
  427. retries: 5
  428. knowledge-service:
  429. build:
  430. context: ../..
  431. dockerfile: deployments/docker/python-service.Dockerfile
  432. args:
  433. SERVICE_PATH: services/knowledge-service
  434. container_name: agent-platform-knowledge-service
  435. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8012"]
  436. environment:
  437. <<: *agent-platform-common-env
  438. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_KNOWLEDGE_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  439. AGENT_PLATFORM_EMBEDDING_PROVIDER: ${AGENT_PLATFORM_EMBEDDING_PROVIDER:-local}
  440. AGENT_PLATFORM_EMBEDDING_BASE_URL: ${AGENT_PLATFORM_EMBEDDING_BASE_URL:-}
  441. AGENT_PLATFORM_EMBEDDING_API_KEY: ${AGENT_PLATFORM_EMBEDDING_API_KEY:-}
  442. AGENT_PLATFORM_EMBEDDING_MODEL: ${AGENT_PLATFORM_EMBEDDING_MODEL:-local-hash-v1}
  443. AGENT_PLATFORM_RETRIEVAL_KEYWORD_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_KEYWORD_WEIGHT:-0.55}
  444. AGENT_PLATFORM_RETRIEVAL_VECTOR_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_VECTOR_WEIGHT:-0.30}
  445. AGENT_PLATFORM_RETRIEVAL_RERANK_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_RERANK_WEIGHT:-0.15}
  446. AGENT_PLATFORM_RETRIEVAL_RERANK_ENABLED: ${AGENT_PLATFORM_RETRIEVAL_RERANK_ENABLED:-true}
  447. AGENT_PLATFORM_OBJECT_STORAGE_BACKEND: minio
  448. AGENT_PLATFORM_OBJECT_STORAGE_BUCKET: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_BUCKET:-agent-platform-knowledge}
  449. AGENT_PLATFORM_OBJECT_STORAGE_ENDPOINT_URL: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_ENDPOINT_URL:-http://minio:9000}
  450. AGENT_PLATFORM_OBJECT_STORAGE_ACCESS_KEY: ${AGENT_PLATFORM_MINIO_ROOT_USER:-minioadmin}
  451. AGENT_PLATFORM_OBJECT_STORAGE_SECRET_KEY: ${AGENT_PLATFORM_MINIO_ROOT_PASSWORD:-minioadmin}
  452. AGENT_PLATFORM_OBJECT_STORAGE_REGION: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_REGION:-us-east-1}
  453. AGENT_PLATFORM_OBJECT_STORAGE_PATH_STYLE: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_PATH_STYLE:-true}
  454. ports:
  455. - "8012:8012"
  456. volumes:
  457. - knowledge_service_data:/data
  458. depends_on:
  459. minio-init:
  460. condition: service_completed_successfully
  461. healthcheck:
  462. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8012/knowledge/health').read()"]
  463. interval: 15s
  464. timeout: 5s
  465. retries: 5
  466. knowledge-worker:
  467. build:
  468. context: ../..
  469. dockerfile: deployments/docker/python-service.Dockerfile
  470. args:
  471. SERVICE_PATH: services/knowledge-service
  472. command: ["python", "-m", "app.worker"]
  473. environment:
  474. <<: *agent-platform-common-env
  475. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_KNOWLEDGE_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  476. AGENT_PLATFORM_EMBEDDING_PROVIDER: ${AGENT_PLATFORM_EMBEDDING_PROVIDER:-local}
  477. AGENT_PLATFORM_EMBEDDING_BASE_URL: ${AGENT_PLATFORM_EMBEDDING_BASE_URL:-}
  478. AGENT_PLATFORM_EMBEDDING_API_KEY: ${AGENT_PLATFORM_EMBEDDING_API_KEY:-}
  479. AGENT_PLATFORM_EMBEDDING_MODEL: ${AGENT_PLATFORM_EMBEDDING_MODEL:-local-hash-v1}
  480. AGENT_PLATFORM_RETRIEVAL_KEYWORD_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_KEYWORD_WEIGHT:-0.55}
  481. AGENT_PLATFORM_RETRIEVAL_VECTOR_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_VECTOR_WEIGHT:-0.30}
  482. AGENT_PLATFORM_RETRIEVAL_RERANK_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_RERANK_WEIGHT:-0.15}
  483. AGENT_PLATFORM_RETRIEVAL_RERANK_ENABLED: ${AGENT_PLATFORM_RETRIEVAL_RERANK_ENABLED:-true}
  484. AGENT_PLATFORM_OBJECT_STORAGE_BACKEND: minio
  485. AGENT_PLATFORM_OBJECT_STORAGE_BUCKET: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_BUCKET:-agent-platform-knowledge}
  486. AGENT_PLATFORM_OBJECT_STORAGE_ENDPOINT_URL: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_ENDPOINT_URL:-http://minio:9000}
  487. AGENT_PLATFORM_OBJECT_STORAGE_ACCESS_KEY: ${AGENT_PLATFORM_MINIO_ROOT_USER:-minioadmin}
  488. AGENT_PLATFORM_OBJECT_STORAGE_SECRET_KEY: ${AGENT_PLATFORM_MINIO_ROOT_PASSWORD:-minioadmin}
  489. AGENT_PLATFORM_OBJECT_STORAGE_REGION: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_REGION:-us-east-1}
  490. AGENT_PLATFORM_OBJECT_STORAGE_PATH_STYLE: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_PATH_STYLE:-true}
  491. AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1}
  492. AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-300}
  493. AGENT_PLATFORM_WORKER_STALE_INDEXING_SECONDS: ${AGENT_PLATFORM_KNOWLEDGE_WORKER_STALE_INDEXING_SECONDS:-600}
  494. volumes:
  495. - knowledge_service_data:/data
  496. depends_on:
  497. knowledge-service:
  498. condition: service_started
  499. minio-init:
  500. condition: service_completed_successfully
  501. event-service:
  502. build:
  503. context: ../..
  504. dockerfile: deployments/docker/python-service.Dockerfile
  505. args:
  506. SERVICE_PATH: services/event-service
  507. container_name: agent-platform-event-service
  508. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8013"]
  509. environment:
  510. <<: *agent-platform-common-env
  511. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_EVENT_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  512. ports:
  513. - "8013:8013"
  514. volumes:
  515. - event_service_data:/data
  516. healthcheck:
  517. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8013/events/health').read()"]
  518. interval: 15s
  519. timeout: 5s
  520. retries: 5
  521. auth-service:
  522. build:
  523. context: ../..
  524. dockerfile: deployments/docker/python-service.Dockerfile
  525. args:
  526. SERVICE_PATH: services/auth-service
  527. container_name: agent-platform-auth-service
  528. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8014"]
  529. environment:
  530. <<: *agent-platform-common-env
  531. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_AUTH_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  532. ports:
  533. - "8014:8014"
  534. volumes:
  535. - auth_service_data:/data
  536. healthcheck:
  537. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8014/auth/health').read()"]
  538. interval: 15s
  539. timeout: 5s
  540. retries: 5
  541. scheduler-service:
  542. build:
  543. context: ../..
  544. dockerfile: deployments/docker/python-service.Dockerfile
  545. args:
  546. SERVICE_PATH: services/scheduler-service
  547. container_name: agent-platform-scheduler-service
  548. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8015"]
  549. environment:
  550. <<: *agent-platform-common-env
  551. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_SCHEDULER_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  552. ports:
  553. - "8015:8015"
  554. volumes:
  555. - scheduler_service_data:/data
  556. healthcheck:
  557. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8015/scheduler/health').read()"]
  558. interval: 15s
  559. timeout: 5s
  560. retries: 5
  561. scheduler-worker:
  562. build:
  563. context: ../..
  564. dockerfile: deployments/docker/python-service.Dockerfile
  565. args:
  566. SERVICE_PATH: services/scheduler-service
  567. command: ["python", "-m", "app.worker"]
  568. environment:
  569. <<: *agent-platform-common-env
  570. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_SCHEDULER_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  571. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  572. AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1}
  573. AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-300}
  574. AGENT_PLATFORM_WORKER_CLAIM_LIMIT: ${AGENT_PLATFORM_SCHEDULER_WORKER_CLAIM_LIMIT:-20}
  575. volumes:
  576. - scheduler_service_data:/data
  577. depends_on:
  578. scheduler-service:
  579. condition: service_started
  580. event-service:
  581. condition: service_started
  582. runtime-service:
  583. build:
  584. context: ../..
  585. dockerfile: deployments/docker/python-service.Dockerfile
  586. args:
  587. SERVICE_PATH: services/runtime-service
  588. container_name: agent-platform-runtime-service
  589. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8003"]
  590. environment:
  591. <<: *agent-platform-common-env
  592. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_RUNTIME_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  593. AGENT_PLATFORM_WORKFLOW_SERVICE_URL: http://workflow-service:8002
  594. AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004
  595. AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005
  596. AGENT_PLATFORM_CODE_RUNNER_SERVICE_URL: http://code-runner-service:8006
  597. AGENT_PLATFORM_AGENT_SERVICE_URL: http://agent-service:8007
  598. AGENT_PLATFORM_MEMORY_SERVICE_URL: http://memory-service:8008
  599. AGENT_PLATFORM_TEAM_SERVICE_URL: http://team-service:8009
  600. AGENT_PLATFORM_SKILL_SERVICE_URL: http://skill-service:8010
  601. AGENT_PLATFORM_HUMAN_SERVICE_URL: http://human-service:8011
  602. AGENT_PLATFORM_KNOWLEDGE_SERVICE_URL: http://knowledge-service:8012
  603. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  604. AGENT_PLATFORM_SCHEDULER_SERVICE_URL: http://scheduler-service:8015
  605. ports:
  606. - "8003:8003"
  607. volumes:
  608. - runtime_service_data:/data
  609. depends_on:
  610. workflow-service:
  611. condition: service_started
  612. tool-service:
  613. condition: service_started
  614. model-gateway-service:
  615. condition: service_started
  616. code-runner-service:
  617. condition: service_started
  618. agent-service:
  619. condition: service_started
  620. memory-service:
  621. condition: service_started
  622. team-service:
  623. condition: service_started
  624. skill-service:
  625. condition: service_started
  626. human-service:
  627. condition: service_started
  628. knowledge-service:
  629. condition: service_started
  630. event-service:
  631. condition: service_started
  632. scheduler-service:
  633. condition: service_started
  634. healthcheck:
  635. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8003/runtime/health').read()"]
  636. interval: 15s
  637. timeout: 5s
  638. retries: 5
  639. runtime-worker:
  640. build:
  641. context: ../..
  642. dockerfile: deployments/docker/python-service.Dockerfile
  643. args:
  644. SERVICE_PATH: services/runtime-service
  645. command: ["python", "-m", "app.worker"]
  646. environment:
  647. <<: *agent-platform-common-env
  648. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_RUNTIME_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  649. AGENT_PLATFORM_WORKFLOW_SERVICE_URL: http://workflow-service:8002
  650. AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004
  651. AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005
  652. AGENT_PLATFORM_CODE_RUNNER_SERVICE_URL: http://code-runner-service:8006
  653. AGENT_PLATFORM_KNOWLEDGE_SERVICE_URL: http://knowledge-service:8012
  654. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  655. AGENT_PLATFORM_SCHEDULER_SERVICE_URL: http://scheduler-service:8015
  656. AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1}
  657. AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-300}
  658. volumes:
  659. - runtime_service_data:/data
  660. depends_on:
  661. workflow-service:
  662. condition: service_started
  663. tool-service:
  664. condition: service_started
  665. model-gateway-service:
  666. condition: service_started
  667. code-runner-service:
  668. condition: service_started
  669. knowledge-service:
  670. condition: service_started
  671. event-service:
  672. condition: service_started
  673. scheduler-service:
  674. condition: service_started
  675. api-gateway:
  676. build:
  677. context: ../..
  678. dockerfile: deployments/docker/python-service.Dockerfile
  679. args:
  680. SERVICE_PATH: services/api-gateway
  681. container_name: agent-platform-api-gateway
  682. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
  683. environment:
  684. <<: *agent-platform-common-env
  685. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_API_GATEWAY_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb}
  686. AGENT_PLATFORM_WORKFLOW_SERVICE_URL: http://workflow-service:8002
  687. AGENT_PLATFORM_SESSION_SERVICE_URL: http://session-service:8001
  688. AGENT_PLATFORM_RUNTIME_SERVICE_URL: http://runtime-service:8003
  689. AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004
  690. AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005
  691. AGENT_PLATFORM_CODE_RUNNER_SERVICE_URL: http://code-runner-service:8006
  692. AGENT_PLATFORM_AGENT_SERVICE_URL: http://agent-service:8007
  693. AGENT_PLATFORM_MEMORY_SERVICE_URL: http://memory-service:8008
  694. AGENT_PLATFORM_TEAM_SERVICE_URL: http://team-service:8009
  695. AGENT_PLATFORM_SKILL_SERVICE_URL: http://skill-service:8010
  696. AGENT_PLATFORM_HUMAN_SERVICE_URL: http://human-service:8011
  697. AGENT_PLATFORM_KNOWLEDGE_SERVICE_URL: http://knowledge-service:8012
  698. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  699. AGENT_PLATFORM_AUTH_SERVICE_URL: http://auth-service:8014
  700. AGENT_PLATFORM_SCHEDULER_SERVICE_URL: http://scheduler-service:8015
  701. AGENT_PLATFORM_AUTH_REQUIRED: ${AGENT_PLATFORM_AUTH_REQUIRED:-true}
  702. AGENT_PLATFORM_AUTHZ_REQUIRED: ${AGENT_PLATFORM_AUTHZ_REQUIRED:-false}
  703. AGENT_PLATFORM_RATE_LIMIT_ENABLED: ${AGENT_PLATFORM_RATE_LIMIT_ENABLED:-false}
  704. AGENT_PLATFORM_GLOBAL_RATE_LIMIT_PER_MINUTE: ${AGENT_PLATFORM_GLOBAL_RATE_LIMIT_PER_MINUTE:-600}
  705. AGENT_PLATFORM_API_KEY_RATE_LIMIT_PER_MINUTE: ${AGENT_PLATFORM_API_KEY_RATE_LIMIT_PER_MINUTE:-1200}
  706. ports:
  707. - "8000:8000"
  708. volumes:
  709. - api_gateway_data:/data
  710. depends_on:
  711. workflow-service:
  712. condition: service_started
  713. session-service:
  714. condition: service_started
  715. runtime-service:
  716. condition: service_started
  717. tool-service:
  718. condition: service_started
  719. model-gateway-service:
  720. condition: service_started
  721. code-runner-service:
  722. condition: service_started
  723. agent-service:
  724. condition: service_started
  725. memory-service:
  726. condition: service_started
  727. team-service:
  728. condition: service_started
  729. skill-service:
  730. condition: service_started
  731. human-service:
  732. condition: service_started
  733. knowledge-service:
  734. condition: service_started
  735. event-service:
  736. condition: service_started
  737. auth-service:
  738. condition: service_started
  739. scheduler-service:
  740. condition: service_started
  741. healthcheck:
  742. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health').read()"]
  743. interval: 15s
  744. timeout: 5s
  745. retries: 5
  746. volumes:
  747. postgres_data:
  748. redis_data:
  749. minio_data:
  750. prometheus_data:
  751. api_gateway_data:
  752. agent_service_data:
  753. memory_service_data:
  754. team_service_data:
  755. skill_service_data:
  756. human_service_data:
  757. knowledge_service_data:
  758. event_service_data:
  759. auth_service_data:
  760. scheduler_service_data:
  761. workflow_service_data:
  762. session_service_data:
  763. runtime_service_data:
  764. tool_service_data:
  765. model_gateway_service_data: