- Rename docker-compose.yml to docker-compose-neo4j.yml for Neo4j setup - Rename docker-compose-kuzu.yml to docker-compose.yml (making KuzuDB default) - Create docker-compose-falkordb.yml for FalkorDB deployment - Add dedicated config files for each database type: - config-docker-neo4j.yaml for Neo4j - config-docker-falkordb.yaml for FalkorDB - config-docker-kuzu.yaml for KuzuDB - Create comprehensive Docker README with database comparison - Update all compose files to use their respective config files KuzuDB is now the default database for Docker deployments due to: - No external dependencies required - Lower resource usage - Instant startup time - Simpler deployment 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
42 lines
No EOL
1.6 KiB
YAML
42 lines
No EOL
1.6 KiB
YAML
services:
|
|
graphiti-mcp:
|
|
image: zepai/knowledge-graph-mcp:latest
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
env_file:
|
|
- path: .env
|
|
required: false # Makes the file optional. Default value is 'true'
|
|
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 for SSE transport
|
|
command: ["uv", "run", "graphiti_mcp_server.py", "--transport", "sse", "--config", "/app/config/config.yaml"]
|
|
|
|
# Volume for persistent KuzuDB storage
|
|
volumes:
|
|
kuzu_data:
|
|
driver: local |