| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662 |
- 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:
|