docker-compose.yml 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608
  1. services:
  2. postgres:
  3. image: pgvector/pgvector:pg16
  4. container_name: agent-platform-postgres
  5. environment:
  6. POSTGRES_USER: ${AGENT_PLATFORM_POSTGRES_USER:-agent_platform}
  7. POSTGRES_PASSWORD: ${AGENT_PLATFORM_POSTGRES_PASSWORD:-agent_platform}
  8. POSTGRES_DB: ${AGENT_PLATFORM_POSTGRES_DB:-agent_platform}
  9. ports:
  10. - "5432:5432"
  11. volumes:
  12. - postgres_data:/var/lib/postgresql/data
  13. - ./postgres-init:/docker-entrypoint-initdb.d:ro
  14. healthcheck:
  15. test: ["CMD-SHELL", "pg_isready -U ${AGENT_PLATFORM_POSTGRES_USER:-agent_platform} -d ${AGENT_PLATFORM_POSTGRES_DB:-agent_platform}"]
  16. interval: 10s
  17. timeout: 5s
  18. retries: 10
  19. redis:
  20. image: redis:7-alpine
  21. container_name: agent-platform-redis
  22. command: ["redis-server", "--appendonly", "yes"]
  23. ports:
  24. - "6379:6379"
  25. volumes:
  26. - redis_data:/data
  27. healthcheck:
  28. test: ["CMD", "redis-cli", "ping"]
  29. interval: 10s
  30. timeout: 5s
  31. retries: 10
  32. workflow-service:
  33. build:
  34. context: ../..
  35. dockerfile: deployments/docker/python-service.Dockerfile
  36. args:
  37. SERVICE_PATH: services/workflow-service
  38. container_name: agent-platform-workflow-service
  39. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8002"]
  40. environment:
  41. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_WORKFLOW_DATABASE_URL:-sqlite:////data/workflow_service.db}
  42. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  43. ports:
  44. - "8002:8002"
  45. volumes:
  46. - workflow_service_data:/data
  47. healthcheck:
  48. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8002/workflows/health').read()"]
  49. interval: 15s
  50. timeout: 5s
  51. retries: 5
  52. session-service:
  53. build:
  54. context: ../..
  55. dockerfile: deployments/docker/python-service.Dockerfile
  56. args:
  57. SERVICE_PATH: services/session-service
  58. container_name: agent-platform-session-service
  59. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8001"]
  60. environment:
  61. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_SESSION_DATABASE_URL:-sqlite:////data/session_service.db}
  62. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  63. AGENT_PLATFORM_RUNTIME_SERVICE_URL: http://runtime-service:8003
  64. ports:
  65. - "8001:8001"
  66. volumes:
  67. - session_service_data:/data
  68. depends_on:
  69. runtime-service:
  70. condition: service_started
  71. healthcheck:
  72. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8001/sessions/health').read()"]
  73. interval: 15s
  74. timeout: 5s
  75. retries: 5
  76. tool-service:
  77. build:
  78. context: ../..
  79. dockerfile: deployments/docker/python-service.Dockerfile
  80. args:
  81. SERVICE_PATH: services/tool-service
  82. container_name: agent-platform-tool-service
  83. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8004"]
  84. environment:
  85. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_TOOL_DATABASE_URL:-sqlite:////data/tool_service.db}
  86. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  87. ports:
  88. - "8004:8004"
  89. volumes:
  90. - tool_service_data:/data
  91. healthcheck:
  92. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8004/tools/health').read()"]
  93. interval: 15s
  94. timeout: 5s
  95. retries: 5
  96. model-gateway-service:
  97. build:
  98. context: ../..
  99. dockerfile: deployments/docker/python-service.Dockerfile
  100. args:
  101. SERVICE_PATH: services/model-gateway-service
  102. container_name: agent-platform-model-gateway-service
  103. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8005"]
  104. environment:
  105. AGENT_PLATFORM_PROVIDER_BASE_URL: ${AGENT_PLATFORM_PROVIDER_BASE_URL:-http://host.docker.internal:11434/v1}
  106. AGENT_PLATFORM_PROVIDER_API_KEY: ${AGENT_PLATFORM_PROVIDER_API_KEY:-}
  107. AGENT_PLATFORM_DEFAULT_MODEL: ${AGENT_PLATFORM_DEFAULT_MODEL:-}
  108. ports:
  109. - "8005:8005"
  110. healthcheck:
  111. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8005/models/health').read()"]
  112. interval: 15s
  113. timeout: 5s
  114. retries: 5
  115. code-runner-service:
  116. build:
  117. context: ../..
  118. dockerfile: deployments/docker/python-service.Dockerfile
  119. args:
  120. SERVICE_PATH: services/code-runner-service
  121. container_name: agent-platform-code-runner-service
  122. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8006"]
  123. environment:
  124. AGENT_PLATFORM_PYTHON_BIN: python
  125. AGENT_PLATFORM_MAX_TIMEOUT_SECONDS: ${AGENT_PLATFORM_MAX_TIMEOUT_SECONDS:-30}
  126. ports:
  127. - "8006:8006"
  128. healthcheck:
  129. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8006/code/health').read()"]
  130. interval: 15s
  131. timeout: 5s
  132. retries: 5
  133. agent-service:
  134. build:
  135. context: ../..
  136. dockerfile: deployments/docker/python-service.Dockerfile
  137. args:
  138. SERVICE_PATH: services/agent-service
  139. container_name: agent-platform-agent-service
  140. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8007"]
  141. environment:
  142. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_AGENT_DATABASE_URL:-sqlite:////data/agent_service.db}
  143. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  144. AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005
  145. AGENT_PLATFORM_MEMORY_SERVICE_URL: http://memory-service:8008
  146. AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004
  147. AGENT_PLATFORM_SKILL_SERVICE_URL: http://skill-service:8010
  148. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  149. ports:
  150. - "8007:8007"
  151. volumes:
  152. - agent_service_data:/data
  153. depends_on:
  154. model-gateway-service:
  155. condition: service_started
  156. memory-service:
  157. condition: service_started
  158. tool-service:
  159. condition: service_started
  160. skill-service:
  161. condition: service_started
  162. event-service:
  163. condition: service_started
  164. healthcheck:
  165. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8007/agents/health').read()"]
  166. interval: 15s
  167. timeout: 5s
  168. retries: 5
  169. agent-worker:
  170. build:
  171. context: ../..
  172. dockerfile: deployments/docker/python-service.Dockerfile
  173. args:
  174. SERVICE_PATH: services/agent-service
  175. command: ["python", "-m", "app.worker"]
  176. environment:
  177. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_AGENT_DATABASE_URL:-sqlite:////data/agent_service.db}
  178. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  179. AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005
  180. AGENT_PLATFORM_MEMORY_SERVICE_URL: http://memory-service:8008
  181. AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004
  182. AGENT_PLATFORM_SKILL_SERVICE_URL: http://skill-service:8010
  183. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  184. AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1}
  185. AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-300}
  186. AGENT_PLATFORM_WORKER_DRY_RUN: ${AGENT_PLATFORM_AGENT_WORKER_DRY_RUN:-false}
  187. volumes:
  188. - agent_service_data:/data
  189. depends_on:
  190. model-gateway-service:
  191. condition: service_started
  192. memory-service:
  193. condition: service_started
  194. tool-service:
  195. condition: service_started
  196. skill-service:
  197. condition: service_started
  198. event-service:
  199. condition: service_started
  200. memory-service:
  201. build:
  202. context: ../..
  203. dockerfile: deployments/docker/python-service.Dockerfile
  204. args:
  205. SERVICE_PATH: services/memory-service
  206. container_name: agent-platform-memory-service
  207. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8008"]
  208. environment:
  209. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_MEMORY_DATABASE_URL:-sqlite:////data/memory_service.db}
  210. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  211. ports:
  212. - "8008:8008"
  213. volumes:
  214. - memory_service_data:/data
  215. healthcheck:
  216. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8008/memories/health').read()"]
  217. interval: 15s
  218. timeout: 5s
  219. retries: 5
  220. team-service:
  221. build:
  222. context: ../..
  223. dockerfile: deployments/docker/python-service.Dockerfile
  224. args:
  225. SERVICE_PATH: services/team-service
  226. container_name: agent-platform-team-service
  227. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8009"]
  228. environment:
  229. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_TEAM_DATABASE_URL:-sqlite:////data/team_service.db}
  230. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  231. AGENT_PLATFORM_AGENT_SERVICE_URL: http://agent-service:8007
  232. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  233. ports:
  234. - "8009:8009"
  235. volumes:
  236. - team_service_data:/data
  237. healthcheck:
  238. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8009/teams/health').read()"]
  239. interval: 15s
  240. timeout: 5s
  241. retries: 5
  242. team-worker:
  243. build:
  244. context: ../..
  245. dockerfile: deployments/docker/python-service.Dockerfile
  246. args:
  247. SERVICE_PATH: services/team-service
  248. command: ["python", "-m", "app.worker"]
  249. environment:
  250. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_TEAM_DATABASE_URL:-sqlite:////data/team_service.db}
  251. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  252. AGENT_PLATFORM_AGENT_SERVICE_URL: http://agent-service:8007
  253. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  254. AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1}
  255. AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-300}
  256. AGENT_PLATFORM_WORKER_DRY_RUN: ${AGENT_PLATFORM_TEAM_WORKER_DRY_RUN:-true}
  257. volumes:
  258. - team_service_data:/data
  259. depends_on:
  260. agent-service:
  261. condition: service_started
  262. event-service:
  263. condition: service_started
  264. skill-service:
  265. build:
  266. context: ../..
  267. dockerfile: deployments/docker/python-service.Dockerfile
  268. args:
  269. SERVICE_PATH: services/skill-service
  270. container_name: agent-platform-skill-service
  271. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8010"]
  272. environment:
  273. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_SKILL_DATABASE_URL:-sqlite:////data/skill_service.db}
  274. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  275. ports:
  276. - "8010:8010"
  277. volumes:
  278. - skill_service_data:/data
  279. healthcheck:
  280. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8010/skills/health').read()"]
  281. interval: 15s
  282. timeout: 5s
  283. retries: 5
  284. human-service:
  285. build:
  286. context: ../..
  287. dockerfile: deployments/docker/python-service.Dockerfile
  288. args:
  289. SERVICE_PATH: services/human-service
  290. container_name: agent-platform-human-service
  291. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8011"]
  292. environment:
  293. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_HUMAN_DATABASE_URL:-sqlite:////data/human_service.db}
  294. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  295. ports:
  296. - "8011:8011"
  297. volumes:
  298. - human_service_data:/data
  299. healthcheck:
  300. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8011/human/health').read()"]
  301. interval: 15s
  302. timeout: 5s
  303. retries: 5
  304. knowledge-service:
  305. build:
  306. context: ../..
  307. dockerfile: deployments/docker/python-service.Dockerfile
  308. args:
  309. SERVICE_PATH: services/knowledge-service
  310. container_name: agent-platform-knowledge-service
  311. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8012"]
  312. environment:
  313. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_KNOWLEDGE_DATABASE_URL:-sqlite:////data/knowledge_service.db}
  314. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  315. AGENT_PLATFORM_EMBEDDING_PROVIDER: ${AGENT_PLATFORM_EMBEDDING_PROVIDER:-local}
  316. AGENT_PLATFORM_EMBEDDING_BASE_URL: ${AGENT_PLATFORM_EMBEDDING_BASE_URL:-}
  317. AGENT_PLATFORM_EMBEDDING_API_KEY: ${AGENT_PLATFORM_EMBEDDING_API_KEY:-}
  318. AGENT_PLATFORM_EMBEDDING_MODEL: ${AGENT_PLATFORM_EMBEDDING_MODEL:-local-hash-v1}
  319. ports:
  320. - "8012:8012"
  321. volumes:
  322. - knowledge_service_data:/data
  323. healthcheck:
  324. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8012/knowledge/health').read()"]
  325. interval: 15s
  326. timeout: 5s
  327. retries: 5
  328. event-service:
  329. build:
  330. context: ../..
  331. dockerfile: deployments/docker/python-service.Dockerfile
  332. args:
  333. SERVICE_PATH: services/event-service
  334. container_name: agent-platform-event-service
  335. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8013"]
  336. environment:
  337. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_EVENT_DATABASE_URL:-sqlite:////data/event_service.db}
  338. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  339. ports:
  340. - "8013:8013"
  341. volumes:
  342. - event_service_data:/data
  343. healthcheck:
  344. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8013/events/health').read()"]
  345. interval: 15s
  346. timeout: 5s
  347. retries: 5
  348. auth-service:
  349. build:
  350. context: ../..
  351. dockerfile: deployments/docker/python-service.Dockerfile
  352. args:
  353. SERVICE_PATH: services/auth-service
  354. container_name: agent-platform-auth-service
  355. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8014"]
  356. environment:
  357. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_AUTH_DATABASE_URL:-sqlite:////data/auth_service.db}
  358. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  359. ports:
  360. - "8014:8014"
  361. volumes:
  362. - auth_service_data:/data
  363. healthcheck:
  364. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8014/auth/health').read()"]
  365. interval: 15s
  366. timeout: 5s
  367. retries: 5
  368. scheduler-service:
  369. build:
  370. context: ../..
  371. dockerfile: deployments/docker/python-service.Dockerfile
  372. args:
  373. SERVICE_PATH: services/scheduler-service
  374. container_name: agent-platform-scheduler-service
  375. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8015"]
  376. environment:
  377. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_SCHEDULER_DATABASE_URL:-sqlite:////data/scheduler_service.db}
  378. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  379. ports:
  380. - "8015:8015"
  381. volumes:
  382. - scheduler_service_data:/data
  383. healthcheck:
  384. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8015/scheduler/health').read()"]
  385. interval: 15s
  386. timeout: 5s
  387. retries: 5
  388. scheduler-worker:
  389. build:
  390. context: ../..
  391. dockerfile: deployments/docker/python-service.Dockerfile
  392. args:
  393. SERVICE_PATH: services/scheduler-service
  394. command: ["python", "-m", "app.worker"]
  395. environment:
  396. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_SCHEDULER_DATABASE_URL:-sqlite:////data/scheduler_service.db}
  397. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  398. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  399. AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1}
  400. AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-300}
  401. AGENT_PLATFORM_WORKER_CLAIM_LIMIT: ${AGENT_PLATFORM_SCHEDULER_WORKER_CLAIM_LIMIT:-20}
  402. volumes:
  403. - scheduler_service_data:/data
  404. depends_on:
  405. scheduler-service:
  406. condition: service_started
  407. event-service:
  408. condition: service_started
  409. runtime-service:
  410. build:
  411. context: ../..
  412. dockerfile: deployments/docker/python-service.Dockerfile
  413. args:
  414. SERVICE_PATH: services/runtime-service
  415. container_name: agent-platform-runtime-service
  416. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8003"]
  417. environment:
  418. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_RUNTIME_DATABASE_URL:-sqlite:////data/runtime_service.db}
  419. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  420. AGENT_PLATFORM_WORKFLOW_SERVICE_URL: http://workflow-service:8002
  421. AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004
  422. AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005
  423. AGENT_PLATFORM_CODE_RUNNER_SERVICE_URL: http://code-runner-service:8006
  424. AGENT_PLATFORM_AGENT_SERVICE_URL: http://agent-service:8007
  425. AGENT_PLATFORM_MEMORY_SERVICE_URL: http://memory-service:8008
  426. AGENT_PLATFORM_TEAM_SERVICE_URL: http://team-service:8009
  427. AGENT_PLATFORM_SKILL_SERVICE_URL: http://skill-service:8010
  428. AGENT_PLATFORM_HUMAN_SERVICE_URL: http://human-service:8011
  429. AGENT_PLATFORM_KNOWLEDGE_SERVICE_URL: http://knowledge-service:8012
  430. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  431. AGENT_PLATFORM_SCHEDULER_SERVICE_URL: http://scheduler-service:8015
  432. ports:
  433. - "8003:8003"
  434. volumes:
  435. - runtime_service_data:/data
  436. depends_on:
  437. workflow-service:
  438. condition: service_started
  439. tool-service:
  440. condition: service_started
  441. model-gateway-service:
  442. condition: service_started
  443. code-runner-service:
  444. condition: service_started
  445. agent-service:
  446. condition: service_started
  447. memory-service:
  448. condition: service_started
  449. team-service:
  450. condition: service_started
  451. skill-service:
  452. condition: service_started
  453. human-service:
  454. condition: service_started
  455. knowledge-service:
  456. condition: service_started
  457. event-service:
  458. condition: service_started
  459. scheduler-service:
  460. condition: service_started
  461. healthcheck:
  462. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8003/runtime/health').read()"]
  463. interval: 15s
  464. timeout: 5s
  465. retries: 5
  466. runtime-worker:
  467. build:
  468. context: ../..
  469. dockerfile: deployments/docker/python-service.Dockerfile
  470. args:
  471. SERVICE_PATH: services/runtime-service
  472. command: ["python", "-m", "app.worker"]
  473. environment:
  474. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_RUNTIME_DATABASE_URL:-sqlite:////data/runtime_service.db}
  475. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  476. AGENT_PLATFORM_WORKFLOW_SERVICE_URL: http://workflow-service:8002
  477. AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004
  478. AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005
  479. AGENT_PLATFORM_CODE_RUNNER_SERVICE_URL: http://code-runner-service:8006
  480. AGENT_PLATFORM_KNOWLEDGE_SERVICE_URL: http://knowledge-service:8012
  481. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  482. AGENT_PLATFORM_SCHEDULER_SERVICE_URL: http://scheduler-service:8015
  483. AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1}
  484. AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-300}
  485. volumes:
  486. - runtime_service_data:/data
  487. depends_on:
  488. workflow-service:
  489. condition: service_started
  490. tool-service:
  491. condition: service_started
  492. model-gateway-service:
  493. condition: service_started
  494. code-runner-service:
  495. condition: service_started
  496. knowledge-service:
  497. condition: service_started
  498. event-service:
  499. condition: service_started
  500. scheduler-service:
  501. condition: service_started
  502. api-gateway:
  503. build:
  504. context: ../..
  505. dockerfile: deployments/docker/python-service.Dockerfile
  506. args:
  507. SERVICE_PATH: services/api-gateway
  508. container_name: agent-platform-api-gateway
  509. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
  510. environment:
  511. AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_API_GATEWAY_DATABASE_URL:-sqlite:////data/api_gateway.db}
  512. AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://redis:6379/0}
  513. AGENT_PLATFORM_WORKFLOW_SERVICE_URL: http://workflow-service:8002
  514. AGENT_PLATFORM_SESSION_SERVICE_URL: http://session-service:8001
  515. AGENT_PLATFORM_RUNTIME_SERVICE_URL: http://runtime-service:8003
  516. AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004
  517. AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005
  518. AGENT_PLATFORM_CODE_RUNNER_SERVICE_URL: http://code-runner-service:8006
  519. AGENT_PLATFORM_AGENT_SERVICE_URL: http://agent-service:8007
  520. AGENT_PLATFORM_MEMORY_SERVICE_URL: http://memory-service:8008
  521. AGENT_PLATFORM_TEAM_SERVICE_URL: http://team-service:8009
  522. AGENT_PLATFORM_SKILL_SERVICE_URL: http://skill-service:8010
  523. AGENT_PLATFORM_HUMAN_SERVICE_URL: http://human-service:8011
  524. AGENT_PLATFORM_KNOWLEDGE_SERVICE_URL: http://knowledge-service:8012
  525. AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013
  526. AGENT_PLATFORM_AUTH_SERVICE_URL: http://auth-service:8014
  527. AGENT_PLATFORM_SCHEDULER_SERVICE_URL: http://scheduler-service:8015
  528. AGENT_PLATFORM_AUTH_REQUIRED: ${AGENT_PLATFORM_AUTH_REQUIRED:-false}
  529. AGENT_PLATFORM_AUTHZ_REQUIRED: ${AGENT_PLATFORM_AUTHZ_REQUIRED:-false}
  530. ports:
  531. - "8000:8000"
  532. volumes:
  533. - api_gateway_data:/data
  534. depends_on:
  535. workflow-service:
  536. condition: service_started
  537. session-service:
  538. condition: service_started
  539. runtime-service:
  540. condition: service_started
  541. tool-service:
  542. condition: service_started
  543. model-gateway-service:
  544. condition: service_started
  545. code-runner-service:
  546. condition: service_started
  547. agent-service:
  548. condition: service_started
  549. memory-service:
  550. condition: service_started
  551. team-service:
  552. condition: service_started
  553. skill-service:
  554. condition: service_started
  555. human-service:
  556. condition: service_started
  557. knowledge-service:
  558. condition: service_started
  559. event-service:
  560. condition: service_started
  561. auth-service:
  562. condition: service_started
  563. scheduler-service:
  564. condition: service_started
  565. healthcheck:
  566. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health').read()"]
  567. interval: 15s
  568. timeout: 5s
  569. retries: 5
  570. volumes:
  571. postgres_data:
  572. redis_data:
  573. api_gateway_data:
  574. agent_service_data:
  575. memory_service_data:
  576. team_service_data:
  577. skill_service_data:
  578. human_service_data:
  579. knowledge_service_data:
  580. event_service_data:
  581. auth_service_data:
  582. scheduler_service_data:
  583. workflow_service_data:
  584. session_service_data:
  585. runtime_service_data:
  586. tool_service_data: