graphiti/mcp_server/docker/docker-compose.yml
2025-10-30 07:55:40 -07:00

42 lines
No EOL
1.5 KiB
YAML

services:
graphiti-mcp:
image: zepai/knowledge-graph-mcp:latest
build:
context: ..
dockerfile: docker/Dockerfile
env_file:
- path: ../.env
required: false
environment:
# Database configuration for KuzuDB - using persistent storage
- KUZU_DB=${KUZU_DB:-/data/graphiti.kuzu}
- KUZU_MAX_CONCURRENT_QUERIES=${KUZU_MAX_CONCURRENT_QUERIES:-10}
# LLM provider configurations
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
- GOOGLE_API_KEY=${GOOGLE_API_KEY:-}
- GROQ_API_KEY=${GROQ_API_KEY:-}
- AZURE_OPENAI_API_KEY=${AZURE_OPENAI_API_KEY:-}
- AZURE_OPENAI_ENDPOINT=${AZURE_OPENAI_ENDPOINT:-}
- AZURE_OPENAI_DEPLOYMENT=${AZURE_OPENAI_DEPLOYMENT:-}
# Embedder provider configurations
- VOYAGE_API_KEY=${VOYAGE_API_KEY:-}
- AZURE_OPENAI_EMBEDDINGS_ENDPOINT=${AZURE_OPENAI_EMBEDDINGS_ENDPOINT:-}
- AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT=${AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT:-}
# Application configuration
- GRAPHITI_GROUP_ID=${GRAPHITI_GROUP_ID:-main}
- SEMAPHORE_LIMIT=${SEMAPHORE_LIMIT:-10}
- CONFIG_PATH=/app/config/config.yaml
- PATH=/root/.local/bin:${PATH}
volumes:
- ../config/config-docker-kuzu.yaml:/app/config/config.yaml:ro
# Persistent KuzuDB data storage
- kuzu_data:/data
ports:
- "8000:8000" # Expose the MCP server via HTTP transport
command: ["uv", "run", "main.py"]
# Volume for persistent KuzuDB storage
volumes:
kuzu_data:
driver: local