chore(max): add docker-compose.max and example MAX/agent config
This commit is contained in:
parent
2ad1438e1c
commit
961ee7bb0b
3 changed files with 56 additions and 12 deletions
|
|
@ -33,5 +33,5 @@ SURFACES_BOT_STATE_VOLUME=surfaces-bot-state
|
|||
|
||||
# MAX Surface
|
||||
MAX_BOT_TOKEN=real_max_token
|
||||
MAX_API_URL=https://api.max.ru/v1
|
||||
MAX_API_URL=https://platform-api.max.ru
|
||||
MAX_AGENT_REGISTRY_PATH=/app/config/max-agents.yaml
|
||||
|
|
@ -1,5 +1,10 @@
|
|||
# Пример реестра агентов для MAX (формат совпадает с matrix-agents).
|
||||
#
|
||||
# user_agents:
|
||||
# "123456789": agent-0
|
||||
#
|
||||
agents:
|
||||
- id: agent-0
|
||||
label: "Agent 0"
|
||||
base_url: "http://agent-proxy:7000/agent_0/"
|
||||
workspace_path: "/agents/0"
|
||||
workspace_path: "/agents/0"
|
||||
|
|
|
|||
|
|
@ -1,24 +1,63 @@
|
|||
# Локальный MAX + platform-agent из исходников (аналог docker-compose.fullstack.yml для Matrix).
|
||||
# Продакшен: только max-bot из docker-compose.prod.yml; AGENT_BASE_URL — URL агента, который поднимает команда платформы.
|
||||
services:
|
||||
max-bot:
|
||||
build:
|
||||
context: .
|
||||
target: development
|
||||
env_file: .env
|
||||
environment:
|
||||
- MAX_BOT_TOKEN=${MAX_BOT_TOKEN}
|
||||
- MAX_API_URL=${MAX_API_URL:-https://api.max.ru/v1}
|
||||
- MAX_AGENT_REGISTRY_PATH=/app/config/max-agents.yaml
|
||||
- AGENT_BASE_URL=http://platform-agent:8000
|
||||
- SURFACES_WORKSPACE_DIR=/agents
|
||||
MAX_BOT_TOKEN: ${MAX_BOT_TOKEN:?set MAX_BOT_TOKEN in .env}
|
||||
MAX_API_URL: ${MAX_API_URL:-https://platform-api.max.ru}
|
||||
MAX_AGENT_REGISTRY_PATH: ${MAX_AGENT_REGISTRY_PATH:-/app/config/max-agents.yaml}
|
||||
AGENT_BASE_URL: http://platform-agent:8000
|
||||
SURFACES_WORKSPACE_DIR: ${SURFACES_WORKSPACE_DIR:-/agents}
|
||||
PYTHONUNBUFFERED: "1"
|
||||
depends_on:
|
||||
platform-agent:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- surfaces-agents:/agents
|
||||
- agents:/agents
|
||||
- ./config:/app/config:ro
|
||||
command: python -m adapter.max.bot
|
||||
restart: unless-stopped
|
||||
|
||||
platform-agent:
|
||||
image: platform-agent:latest
|
||||
build:
|
||||
context: ./external/platform-agent
|
||||
target: development
|
||||
additional_contexts:
|
||||
agent_api: ./external/platform-agent_api
|
||||
env_file: .env
|
||||
environment:
|
||||
- WORKSPACE_DIR=/workspace
|
||||
PYTHONUNBUFFERED: "1"
|
||||
AGENT_ID: ${AGENT_ID:-max-dev}
|
||||
PROVIDER_MODEL: ${PROVIDER_MODEL:-openai/gpt-4o-mini}
|
||||
PROVIDER_URL: ${PROVIDER_URL:-}
|
||||
PROVIDER_API_KEY: ${PROVIDER_API_KEY:-}
|
||||
COMPOSIO_API_KEY: ${COMPOSIO_API_KEY:-}
|
||||
volumes:
|
||||
- surfaces-agents:/workspace
|
||||
- ./external/platform-agent/src:/app/src
|
||||
- ./external/platform-agent_api:/agent_api
|
||||
- agents:/workspace
|
||||
command: >
|
||||
sh -lc "
|
||||
mkdir -p /workspace &&
|
||||
chown -R agent:agent /workspace &&
|
||||
exec /app/.venv/bin/uvicorn src.main:app --host 0.0.0.0 --port 8000 --no-access-log
|
||||
"
|
||||
ports:
|
||||
- "8000:8000"
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/openapi.json', timeout=2).read()"
|
||||
interval: 60s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 15s
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
surfaces-agents:
|
||||
agents:
|
||||
name: ${SURFACES_SHARED_VOLUME:-surfaces-agents}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue