x-agent-platform-common-env: &agent-platform-common-env AGENT_PLATFORM_INTERNAL_SERVICE_AUTH_REQUIRED: ${AGENT_PLATFORM_INTERNAL_SERVICE_AUTH_REQUIRED:-false} AGENT_PLATFORM_INTERNAL_SERVICE_TOKEN: ${AGENT_PLATFORM_INTERNAL_SERVICE_TOKEN:-} AGENT_PLATFORM_CREDENTIAL_ENCRYPTION_KEY: ${AGENT_PLATFORM_CREDENTIAL_ENCRYPTION_KEY:-local-development-credential-key} AGENT_PLATFORM_REDIS_URL: ${AGENT_PLATFORM_REDIS_URL:-redis://:H1v6U8uTMnByJ0SO@git.newpoint.work:6379/0} services: postgres: image: pgvector/pgvector:pg16 container_name: pgsql-vector restart: always environment: POSTGRES_USER: ${AGENT_PLATFORM_POSTGRES_USER:-admin} POSTGRES_PASSWORD: ${AGENT_PLATFORM_POSTGRES_PASSWORD:-hFOvG5UBeK5KIGhz5cQH} POSTGRES_DB: ${AGENT_PLATFORM_POSTGRES_DB:-vectordb} ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data - ./postgres-init:/docker-entrypoint-initdb.d:ro healthcheck: test: ["CMD-SHELL", "pg_isready -U ${AGENT_PLATFORM_POSTGRES_USER:-admin} -d ${AGENT_PLATFORM_POSTGRES_DB:-vectordb}"] interval: 10s timeout: 5s retries: 10 redis: image: redis:latest container_name: redis restart: unless-stopped command: ["sh", "-c", "redis-server --appendonly yes --requirepass \"$$REDIS_PASSWORD\""] environment: REDIS_PASSWORD: ${AGENT_PLATFORM_REDIS_PASSWORD:-H1v6U8uTMnByJ0SO} ports: - "6379:6379" volumes: - redis_data:/data healthcheck: test: ["CMD-SHELL", "redis-cli -a \"$$REDIS_PASSWORD\" ping | grep PONG"] interval: 10s timeout: 5s retries: 10 minio: image: minio/minio:RELEASE.2025-04-22T22-12-26Z container_name: agent-platform-minio command: ["server", "/data", "--console-address", ":9001"] environment: MINIO_ROOT_USER: ${AGENT_PLATFORM_MINIO_ROOT_USER:-minioadmin} MINIO_ROOT_PASSWORD: ${AGENT_PLATFORM_MINIO_ROOT_PASSWORD:-minioadmin} ports: - "9000:9000" - "9001:9001" volumes: - minio_data:/data minio-init: image: minio/mc:RELEASE.2025-04-16T18-13-26Z depends_on: minio: condition: service_started entrypoint: - /bin/sh - -c - | until mc alias set local http://minio:9000 "$$MINIO_ROOT_USER" "$$MINIO_ROOT_PASSWORD"; do sleep 1 done mc mb --ignore-existing "local/$$KNOWLEDGE_BUCKET" environment: MINIO_ROOT_USER: ${AGENT_PLATFORM_MINIO_ROOT_USER:-minioadmin} MINIO_ROOT_PASSWORD: ${AGENT_PLATFORM_MINIO_ROOT_PASSWORD:-minioadmin} KNOWLEDGE_BUCKET: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_BUCKET:-agent-platform-knowledge} prometheus: image: prom/prometheus:v2.54.1 container_name: agent-platform-prometheus command: - "--config.file=/etc/prometheus/prometheus.yml" - "--storage.tsdb.path=/prometheus" ports: - "9090:9090" volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro - prometheus_data:/prometheus depends_on: api-gateway: condition: service_started session-service: condition: service_started tool-service: condition: service_started model-gateway-service: condition: service_started code-runner-service: condition: service_started agent-service: condition: service_started memory-service: condition: service_started team-service: condition: service_started skill-service: condition: service_started human-service: condition: service_started knowledge-service: condition: service_started event-service: condition: service_started auth-service: condition: service_started scheduler-service: condition: service_started session-service: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/session-service container_name: agent-platform-session-service command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8001"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_SESSION_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} ports: - "8001:8001" volumes: - session_service_data:/data healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8001/sessions/health').read()"] interval: 15s timeout: 5s retries: 5 tool-service: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/tool-service container_name: agent-platform-tool-service command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8004"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_TOOL_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} ports: - "8004:8004" volumes: - tool_service_data:/data healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8004/tools/health').read()"] interval: 15s timeout: 5s retries: 5 tool-worker: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/tool-service command: ["python", "-m", "app.worker"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_TOOL_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} AGENT_PLATFORM_MCP_DISCOVERY_TIMEOUT_SECONDS: ${AGENT_PLATFORM_MCP_DISCOVERY_TIMEOUT_SECONDS:-5} AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1} AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-120} AGENT_PLATFORM_WORKER_STALE_DISCOVERY_SECONDS: ${AGENT_PLATFORM_TOOL_WORKER_STALE_DISCOVERY_SECONDS:-300} volumes: - tool_service_data:/data depends_on: tool-service: condition: service_started model-gateway-service: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/model-gateway-service container_name: agent-platform-model-gateway-service command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8005"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_MODEL_GATEWAY_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} AGENT_PLATFORM_PROVIDER_BASE_URL: ${AGENT_PLATFORM_PROVIDER_BASE_URL:-http://host.docker.internal:11434/v1} AGENT_PLATFORM_PROVIDER_API_KEY: ${AGENT_PLATFORM_PROVIDER_API_KEY:-} AGENT_PLATFORM_DEFAULT_MODEL: ${AGENT_PLATFORM_DEFAULT_MODEL:-} ports: - "8005:8005" volumes: - model_gateway_service_data:/data healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8005/models/health').read()"] interval: 15s timeout: 5s retries: 5 code-runner-service: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/code-runner-service container_name: agent-platform-code-runner-service command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8006"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_PYTHON_BIN: python AGENT_PLATFORM_MAX_TIMEOUT_SECONDS: ${AGENT_PLATFORM_MAX_TIMEOUT_SECONDS:-30} ports: - "8006:8006" healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8006/code/health').read()"] interval: 15s timeout: 5s retries: 5 agent-service: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/agent-service container_name: agent-platform-agent-service command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8007"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_AGENT_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005 AGENT_PLATFORM_MEMORY_SERVICE_URL: http://memory-service:8008 AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004 AGENT_PLATFORM_SKILL_SERVICE_URL: http://skill-service:8010 AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013 ports: - "8007:8007" volumes: - agent_service_data:/data depends_on: model-gateway-service: condition: service_started memory-service: condition: service_started tool-service: condition: service_started skill-service: condition: service_started event-service: condition: service_started healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8007/agents/health').read()"] interval: 15s timeout: 5s retries: 5 agent-worker: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/agent-service command: ["python", "-m", "app.worker"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_AGENT_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005 AGENT_PLATFORM_MEMORY_SERVICE_URL: http://memory-service:8008 AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004 AGENT_PLATFORM_SKILL_SERVICE_URL: http://skill-service:8010 AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013 AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1} AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-300} AGENT_PLATFORM_WORKER_DRY_RUN: ${AGENT_PLATFORM_AGENT_WORKER_DRY_RUN:-false} volumes: - agent_service_data:/data depends_on: model-gateway-service: condition: service_started memory-service: condition: service_started tool-service: condition: service_started skill-service: condition: service_started event-service: condition: service_started memory-service: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/memory-service container_name: agent-platform-memory-service command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8008"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_MEMORY_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} ports: - "8008:8008" volumes: - memory_service_data:/data healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8008/memories/health').read()"] interval: 15s timeout: 5s retries: 5 memory-worker: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/memory-service command: ["python", "-m", "app.worker"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_MEMORY_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} AGENT_PLATFORM_SEARCH_CACHE_TTL_SECONDS: ${AGENT_PLATFORM_MEMORY_SEARCH_CACHE_TTL_SECONDS:-30} AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1} AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-120} volumes: - memory_service_data:/data depends_on: memory-service: condition: service_started team-service: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/team-service container_name: agent-platform-team-service command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8009"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_TEAM_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} AGENT_PLATFORM_AGENT_SERVICE_URL: http://agent-service:8007 AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013 ports: - "8009:8009" volumes: - team_service_data:/data healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8009/teams/health').read()"] interval: 15s timeout: 5s retries: 5 team-worker: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/team-service command: ["python", "-m", "app.worker"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_TEAM_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} AGENT_PLATFORM_AGENT_SERVICE_URL: http://agent-service:8007 AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013 AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1} AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-300} AGENT_PLATFORM_WORKER_DRY_RUN: ${AGENT_PLATFORM_TEAM_WORKER_DRY_RUN:-true} volumes: - team_service_data:/data depends_on: agent-service: condition: service_started event-service: condition: service_started skill-service: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/skill-service container_name: agent-platform-skill-service command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8010"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_SKILL_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} ports: - "8010:8010" volumes: - skill_service_data:/data healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8010/skills/health').read()"] interval: 15s timeout: 5s retries: 5 human-service: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/human-service container_name: agent-platform-human-service command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8011"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_HUMAN_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} ports: - "8011:8011" volumes: - human_service_data:/data healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8011/human/health').read()"] interval: 15s timeout: 5s retries: 5 knowledge-service: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/knowledge-service container_name: agent-platform-knowledge-service command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8012"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_KNOWLEDGE_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} AGENT_PLATFORM_EMBEDDING_PROVIDER: ${AGENT_PLATFORM_EMBEDDING_PROVIDER:-local} AGENT_PLATFORM_EMBEDDING_BASE_URL: ${AGENT_PLATFORM_EMBEDDING_BASE_URL:-} AGENT_PLATFORM_EMBEDDING_API_KEY: ${AGENT_PLATFORM_EMBEDDING_API_KEY:-} AGENT_PLATFORM_EMBEDDING_MODEL: ${AGENT_PLATFORM_EMBEDDING_MODEL:-local-hash-v1} AGENT_PLATFORM_RETRIEVAL_KEYWORD_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_KEYWORD_WEIGHT:-0.55} AGENT_PLATFORM_RETRIEVAL_VECTOR_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_VECTOR_WEIGHT:-0.30} AGENT_PLATFORM_RETRIEVAL_RERANK_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_RERANK_WEIGHT:-0.15} AGENT_PLATFORM_RETRIEVAL_RERANK_ENABLED: ${AGENT_PLATFORM_RETRIEVAL_RERANK_ENABLED:-true} AGENT_PLATFORM_OBJECT_STORAGE_BACKEND: minio AGENT_PLATFORM_OBJECT_STORAGE_BUCKET: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_BUCKET:-agent-platform-knowledge} AGENT_PLATFORM_OBJECT_STORAGE_ENDPOINT_URL: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_ENDPOINT_URL:-http://minio:9000} AGENT_PLATFORM_OBJECT_STORAGE_ACCESS_KEY: ${AGENT_PLATFORM_MINIO_ROOT_USER:-minioadmin} AGENT_PLATFORM_OBJECT_STORAGE_SECRET_KEY: ${AGENT_PLATFORM_MINIO_ROOT_PASSWORD:-minioadmin} AGENT_PLATFORM_OBJECT_STORAGE_REGION: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_REGION:-us-east-1} AGENT_PLATFORM_OBJECT_STORAGE_PATH_STYLE: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_PATH_STYLE:-true} ports: - "8012:8012" volumes: - knowledge_service_data:/data depends_on: minio-init: condition: service_completed_successfully healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8012/knowledge/health').read()"] interval: 15s timeout: 5s retries: 5 knowledge-worker: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/knowledge-service command: ["python", "-m", "app.worker"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_KNOWLEDGE_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} AGENT_PLATFORM_EMBEDDING_PROVIDER: ${AGENT_PLATFORM_EMBEDDING_PROVIDER:-local} AGENT_PLATFORM_EMBEDDING_BASE_URL: ${AGENT_PLATFORM_EMBEDDING_BASE_URL:-} AGENT_PLATFORM_EMBEDDING_API_KEY: ${AGENT_PLATFORM_EMBEDDING_API_KEY:-} AGENT_PLATFORM_EMBEDDING_MODEL: ${AGENT_PLATFORM_EMBEDDING_MODEL:-local-hash-v1} AGENT_PLATFORM_RETRIEVAL_KEYWORD_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_KEYWORD_WEIGHT:-0.55} AGENT_PLATFORM_RETRIEVAL_VECTOR_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_VECTOR_WEIGHT:-0.30} AGENT_PLATFORM_RETRIEVAL_RERANK_WEIGHT: ${AGENT_PLATFORM_RETRIEVAL_RERANK_WEIGHT:-0.15} AGENT_PLATFORM_RETRIEVAL_RERANK_ENABLED: ${AGENT_PLATFORM_RETRIEVAL_RERANK_ENABLED:-true} AGENT_PLATFORM_OBJECT_STORAGE_BACKEND: minio AGENT_PLATFORM_OBJECT_STORAGE_BUCKET: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_BUCKET:-agent-platform-knowledge} AGENT_PLATFORM_OBJECT_STORAGE_ENDPOINT_URL: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_ENDPOINT_URL:-http://minio:9000} AGENT_PLATFORM_OBJECT_STORAGE_ACCESS_KEY: ${AGENT_PLATFORM_MINIO_ROOT_USER:-minioadmin} AGENT_PLATFORM_OBJECT_STORAGE_SECRET_KEY: ${AGENT_PLATFORM_MINIO_ROOT_PASSWORD:-minioadmin} AGENT_PLATFORM_OBJECT_STORAGE_REGION: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_REGION:-us-east-1} AGENT_PLATFORM_OBJECT_STORAGE_PATH_STYLE: ${AGENT_PLATFORM_KNOWLEDGE_OBJECT_STORAGE_PATH_STYLE:-true} AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1} AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-300} AGENT_PLATFORM_WORKER_STALE_INDEXING_SECONDS: ${AGENT_PLATFORM_KNOWLEDGE_WORKER_STALE_INDEXING_SECONDS:-600} volumes: - knowledge_service_data:/data depends_on: knowledge-service: condition: service_started minio-init: condition: service_completed_successfully event-service: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/event-service container_name: agent-platform-event-service command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8013"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_EVENT_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} ports: - "8013:8013" volumes: - event_service_data:/data healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8013/events/health').read()"] interval: 15s timeout: 5s retries: 5 auth-service: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/auth-service container_name: agent-platform-auth-service command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8014"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_AUTH_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} ports: - "8014:8014" volumes: - auth_service_data:/data healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8014/identity/health').read()"] interval: 15s timeout: 5s retries: 5 scheduler-service: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/scheduler-service container_name: agent-platform-scheduler-service command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8015"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_SCHEDULER_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} ports: - "8015:8015" volumes: - scheduler_service_data:/data healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8015/scheduler/health').read()"] interval: 15s timeout: 5s retries: 5 scheduler-worker: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/scheduler-service command: ["python", "-m", "app.worker"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_SCHEDULER_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013 AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS: ${AGENT_PLATFORM_WORKER_POLL_INTERVAL_SECONDS:-1} AGENT_PLATFORM_WORKER_LEASE_SECONDS: ${AGENT_PLATFORM_WORKER_LEASE_SECONDS:-300} AGENT_PLATFORM_WORKER_CLAIM_LIMIT: ${AGENT_PLATFORM_SCHEDULER_WORKER_CLAIM_LIMIT:-20} volumes: - scheduler_service_data:/data depends_on: scheduler-service: condition: service_started event-service: condition: service_started api-gateway: build: context: ../.. dockerfile: deployments/docker/python-service.Dockerfile args: SERVICE_PATH: services/api-gateway container_name: agent-platform-api-gateway command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"] environment: <<: *agent-platform-common-env AGENT_PLATFORM_DATABASE_URL: ${AGENT_PLATFORM_API_GATEWAY_DATABASE_URL:-postgresql+psycopg://admin:hFOvG5UBeK5KIGhz5cQH@git.newpoint.work:5432/vectordb} AGENT_PLATFORM_SESSION_SERVICE_URL: http://session-service:8001 AGENT_PLATFORM_TOOL_SERVICE_URL: http://tool-service:8004 AGENT_PLATFORM_MODEL_GATEWAY_SERVICE_URL: http://model-gateway-service:8005 AGENT_PLATFORM_CODE_RUNNER_SERVICE_URL: http://code-runner-service:8006 AGENT_PLATFORM_AGENT_SERVICE_URL: http://agent-service:8007 AGENT_PLATFORM_MEMORY_SERVICE_URL: http://memory-service:8008 AGENT_PLATFORM_TEAM_SERVICE_URL: http://team-service:8009 AGENT_PLATFORM_SKILL_SERVICE_URL: http://skill-service:8010 AGENT_PLATFORM_HUMAN_SERVICE_URL: http://human-service:8011 AGENT_PLATFORM_KNOWLEDGE_SERVICE_URL: http://knowledge-service:8012 AGENT_PLATFORM_EVENT_SERVICE_URL: http://event-service:8013 AGENT_PLATFORM_AUTH_SERVICE_URL: http://auth-service:8014 AGENT_PLATFORM_SCHEDULER_SERVICE_URL: http://scheduler-service:8015 AGENT_PLATFORM_AUTH_REQUIRED: ${AGENT_PLATFORM_AUTH_REQUIRED:-true} AGENT_PLATFORM_AUTHZ_REQUIRED: ${AGENT_PLATFORM_AUTHZ_REQUIRED:-false} AGENT_PLATFORM_RATE_LIMIT_ENABLED: ${AGENT_PLATFORM_RATE_LIMIT_ENABLED:-false} AGENT_PLATFORM_GLOBAL_RATE_LIMIT_PER_MINUTE: ${AGENT_PLATFORM_GLOBAL_RATE_LIMIT_PER_MINUTE:-600} AGENT_PLATFORM_API_KEY_RATE_LIMIT_PER_MINUTE: ${AGENT_PLATFORM_API_KEY_RATE_LIMIT_PER_MINUTE:-1200} ports: - "8000:8000" volumes: - api_gateway_data:/data depends_on: session-service: condition: service_started tool-service: condition: service_started model-gateway-service: condition: service_started code-runner-service: condition: service_started agent-service: condition: service_started memory-service: condition: service_started team-service: condition: service_started skill-service: condition: service_started human-service: condition: service_started knowledge-service: condition: service_started event-service: condition: service_started auth-service: condition: service_started scheduler-service: condition: service_started healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health').read()"] interval: 15s timeout: 5s retries: 5 volumes: postgres_data: redis_data: minio_data: prometheus_data: api_gateway_data: agent_service_data: memory_service_data: team_service_data: skill_service_data: human_service_data: knowledge_service_data: event_service_data: auth_service_data: scheduler_service_data: session_service_data: tool_service_data: model_gateway_service_data: