docker-compose.yml 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. services:
  2. workflow-service:
  3. build:
  4. context: ../..
  5. dockerfile: deployments/docker/python-service.Dockerfile
  6. args:
  7. SERVICE_PATH: services/workflow-service
  8. container_name: agent-platform-workflow-service
  9. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8002"]
  10. environment:
  11. AGENT_PLATFORM_DATABASE_URL: sqlite:////data/workflow_service.db
  12. ports:
  13. - "8002:8002"
  14. volumes:
  15. - workflow_service_data:/data
  16. healthcheck:
  17. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8002/workflows/health').read()"]
  18. interval: 15s
  19. timeout: 5s
  20. retries: 5
  21. session-service:
  22. build:
  23. context: ../..
  24. dockerfile: deployments/docker/python-service.Dockerfile
  25. args:
  26. SERVICE_PATH: services/session-service
  27. container_name: agent-platform-session-service
  28. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8001"]
  29. environment:
  30. AGENT_PLATFORM_DATABASE_URL: sqlite:////data/session_service.db
  31. AGENT_PLATFORM_RUNTIME_SERVICE_URL: http://runtime-service:8003
  32. ports:
  33. - "8001:8001"
  34. volumes:
  35. - session_service_data:/data
  36. depends_on:
  37. runtime-service:
  38. condition: service_started
  39. healthcheck:
  40. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8001/sessions/health').read()"]
  41. interval: 15s
  42. timeout: 5s
  43. retries: 5
  44. tool-service:
  45. build:
  46. context: ../..
  47. dockerfile: deployments/docker/python-service.Dockerfile
  48. args:
  49. SERVICE_PATH: services/tool-service
  50. container_name: agent-platform-tool-service
  51. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8004"]
  52. environment:
  53. AGENT_PLATFORM_DATABASE_URL: sqlite:////data/tool_service.db
  54. ports:
  55. - "8004:8004"
  56. volumes:
  57. - tool_service_data:/data
  58. healthcheck:
  59. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8004/tools/health').read()"]
  60. interval: 15s
  61. timeout: 5s
  62. retries: 5
  63. model-gateway-service:
  64. build:
  65. context: ../..
  66. dockerfile: deployments/docker/python-service.Dockerfile
  67. args:
  68. SERVICE_PATH: services/model-gateway-service
  69. container_name: agent-platform-model-gateway-service
  70. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8005"]
  71. environment:
  72. AGENT_PLATFORM_PROVIDER_BASE_URL: ${AGENT_PLATFORM_PROVIDER_BASE_URL:-http://host.docker.internal:11434/v1}
  73. AGENT_PLATFORM_PROVIDER_API_KEY: ${AGENT_PLATFORM_PROVIDER_API_KEY:-}
  74. AGENT_PLATFORM_DEFAULT_MODEL: ${AGENT_PLATFORM_DEFAULT_MODEL:-}
  75. ports:
  76. - "8005:8005"
  77. healthcheck:
  78. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8005/models/health').read()"]
  79. interval: 15s
  80. timeout: 5s
  81. retries: 5
  82. code-runner-service:
  83. build:
  84. context: ../..
  85. dockerfile: deployments/docker/python-service.Dockerfile
  86. args:
  87. SERVICE_PATH: services/code-runner-service
  88. container_name: agent-platform-code-runner-service
  89. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8006"]
  90. environment:
  91. AGENT_PLATFORM_PYTHON_BIN: python
  92. AGENT_PLATFORM_MAX_TIMEOUT_SECONDS: ${AGENT_PLATFORM_MAX_TIMEOUT_SECONDS:-30}
  93. ports:
  94. - "8006:8006"
  95. healthcheck:
  96. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8006/code/health').read()"]
  97. interval: 15s
  98. timeout: 5s
  99. retries: 5
  100. runtime-service:
  101. build:
  102. context: ../..
  103. dockerfile: deployments/docker/python-service.Dockerfile
  104. args:
  105. SERVICE_PATH: services/runtime-service
  106. container_name: agent-platform-runtime-service
  107. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8003"]
  108. environment:
  109. AGENT_PLATFORM_DATABASE_URL: sqlite:////data/runtime_service.db
  110. AGENT_PLATFORM_WORKFLOW_SERVICE_URL: http://workflow-service:8002
  111. AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004
  112. AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005
  113. AGENT_PLATFORM_CODE_RUNNER_SERVICE_URL: http://code-runner-service:8006
  114. AGENT_PLATFORM_AUTH_REQUIRED: ${AGENT_PLATFORM_AUTH_REQUIRED:-false}
  115. ports:
  116. - "8003:8003"
  117. volumes:
  118. - runtime_service_data:/data
  119. depends_on:
  120. workflow-service:
  121. condition: service_started
  122. tool-service:
  123. condition: service_started
  124. model-gateway-service:
  125. condition: service_started
  126. code-runner-service:
  127. condition: service_started
  128. healthcheck:
  129. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8003/runtime/health').read()"]
  130. interval: 15s
  131. timeout: 5s
  132. retries: 5
  133. api-gateway:
  134. build:
  135. context: ../..
  136. dockerfile: deployments/docker/python-service.Dockerfile
  137. args:
  138. SERVICE_PATH: services/api-gateway
  139. container_name: agent-platform-api-gateway
  140. command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
  141. environment:
  142. AGENT_PLATFORM_DATABASE_URL: sqlite:////data/api_gateway.db
  143. AGENT_PLATFORM_WORKFLOW_SERVICE_URL: http://workflow-service:8002
  144. AGENT_PLATFORM_SESSION_SERVICE_URL: http://session-service:8001
  145. AGENT_PLATFORM_RUNTIME_SERVICE_URL: http://runtime-service:8003
  146. AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004
  147. AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005
  148. AGENT_PLATFORM_CODE_RUNNER_SERVICE_URL: http://code-runner-service:8006
  149. ports:
  150. - "8000:8000"
  151. volumes:
  152. - api_gateway_data:/data
  153. depends_on:
  154. workflow-service:
  155. condition: service_started
  156. session-service:
  157. condition: service_started
  158. runtime-service:
  159. condition: service_started
  160. tool-service:
  161. condition: service_started
  162. model-gateway-service:
  163. condition: service_started
  164. code-runner-service:
  165. condition: service_started
  166. healthcheck:
  167. test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health').read()"]
  168. interval: 15s
  169. timeout: 5s
  170. retries: 5
  171. volumes:
  172. api_gateway_data:
  173. workflow_service_data:
  174. session_service_data:
  175. runtime_service_data:
  176. tool_service_data: