- docker-compose: 3 services (gateway, mcpo, webui) with proper wiring - Open WebUI connects to Kiro Gateway for LLM, mcpo for MCP tools - TOOL_SERVER_CONNECTIONS auto-discovers Jira, Aha, Context7 - Simplified mcporter.json (env vars from container, not JSON) - env.example consolidated with all keys - SETUP.md rewritten with architecture diagram - Pipelines deprecated (mcpo replaces custom Python shims) - Added docs/reltio-forge.md
65 lines
2.3 KiB
YAML
65 lines
2.3 KiB
YAML
services:
|
|
# --- Kiro Gateway (OpenAI-compatible LLM proxy) ---
|
|
gateway:
|
|
image: ghcr.io/openclaw/openclaw:latest
|
|
container_name: pm-gateway
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- DEBUG_MODE=${DEBUG_MODE:-}
|
|
ports:
|
|
- "8000:8000"
|
|
restart: unless-stopped
|
|
|
|
# --- mcpo (MCP → OpenAPI proxy for tool servers) ---
|
|
mcpo:
|
|
image: ghcr.io/open-webui/mcpo:latest
|
|
container_name: pm-mcpo
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
# aha-mcp expects AHA_API_TOKEN, .env uses AHA_API_KEY
|
|
- AHA_API_TOKEN=${AHA_API_KEY:-}
|
|
command: --host 0.0.0.0 --port 3001 --config /config/mcporter.json
|
|
ports:
|
|
- "3001:3001"
|
|
volumes:
|
|
- ./config/mcporter.json:/config/mcporter.json:ro
|
|
restart: unless-stopped
|
|
|
|
# --- Open WebUI (browser UI for non-technical PMs) ---
|
|
webui:
|
|
image: ghcr.io/open-webui/open-webui:main
|
|
container_name: pm-webui
|
|
ports:
|
|
- "3000:8080"
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
# --- LLM Connection (Kiro Gateway) ---
|
|
- OPENAI_API_BASE_URL=http://gateway:8000/v1
|
|
- OPENAI_API_KEY=${OPENAI_API_KEY:-sk-none}
|
|
# --- Tool Servers (mcpo exposes each MCP server at its own path) ---
|
|
- >-
|
|
TOOL_SERVER_CONNECTIONS=[
|
|
{"type":"openapi","url":"http://mcpo:3001/atlassian","auth_type":"none","config":{"enable":true},"info":{"name":"atlassian","description":"Jira issue management via Atlassian MCP"}},
|
|
{"type":"openapi","url":"http://mcpo:3001/aha","auth_type":"none","config":{"enable":true},"info":{"name":"aha","description":"Aha! roadmap and epic management"}},
|
|
{"type":"openapi","url":"http://mcpo:3001/context7","auth_type":"none","config":{"enable":true},"info":{"name":"context7","description":"Library documentation lookup"}}
|
|
]
|
|
# --- Admin auto-setup (skip manual signup on first run) ---
|
|
- WEBUI_ADMIN_EMAIL=${WEBUI_ADMIN_EMAIL:-admin@reltio.com}
|
|
- WEBUI_ADMIN_PASSWORD=${WEBUI_ADMIN_PASSWORD:-}
|
|
# --- Disable persistent config so env vars always win ---
|
|
- ENABLE_PERSISTENT_CONFIG=false
|
|
volumes:
|
|
- webui-data:/app/backend/data
|
|
- ./openwebui/custom.css:/app/backend/open_webui/static/custom.css
|
|
- ./openwebui/darkWave2.svg:/app/backend/open_webui/static/darkWave2.svg
|
|
depends_on:
|
|
- gateway
|
|
- mcpo
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
webui-data:
|