80 lines
2.7 KiB
YAML
80 lines
2.7 KiB
YAML
# Docker Compose for Auto Claude
|
|
# ===============================
|
|
#
|
|
# Services:
|
|
# - falkordb: Graph database for Graphiti memory integration
|
|
# - graphiti-mcp: MCP server for agent access to knowledge graph
|
|
#
|
|
# Usage:
|
|
# docker-compose up -d # Start all services
|
|
# docker-compose up -d falkordb # Start FalkorDB only
|
|
# docker-compose ps # Check status
|
|
# docker-compose logs -f # View logs
|
|
# docker-compose down # Stop services
|
|
#
|
|
# API Key Configuration:
|
|
# The graphiti-mcp service requires OPENAI_API_KEY. It will be read from:
|
|
#
|
|
# 1. CLI users: Set in auto-claude/.env (auto-loaded)
|
|
# 2. Frontend users: Set in .env in this directory, or:
|
|
# - Copy from your project: cp /path/to/your-project/auto-claude/.env .env
|
|
# - Or export before running: export OPENAI_API_KEY=sk-... && docker-compose up -d
|
|
|
|
name: auto-claude
|
|
|
|
services:
|
|
falkordb:
|
|
image: falkordb/falkordb:latest
|
|
container_name: auto-claude-falkordb
|
|
ports:
|
|
- "${GRAPHITI_FALKORDB_PORT:-6380}:6379"
|
|
volumes:
|
|
- falkordb_data:/data
|
|
environment:
|
|
- FALKORDB_ARGS=--appendonly yes
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
restart: unless-stopped
|
|
|
|
graphiti-mcp:
|
|
image: falkordb/graphiti-knowledge-graph-mcp:latest
|
|
container_name: auto-claude-graphiti-mcp
|
|
platform: linux/amd64 # Required: image only available for amd64
|
|
ports:
|
|
- "${GRAPHITI_MCP_PORT:-8000}:8000"
|
|
env_file:
|
|
# Load API keys from auto-claude/.env (CLI users) or .env (Frontend users)
|
|
# Note: Only OPENAI_API_KEY is needed from these files
|
|
- path: auto-claude/.env
|
|
required: false
|
|
- path: .env
|
|
required: false
|
|
environment:
|
|
# Required: Database type
|
|
DATABASE_TYPE: falkordb
|
|
# FalkorDB connection - MUST override env_file values for docker networking
|
|
# Note: The image uses FALKORDB_HOST/PORT (not GRAPHITI_FALKORDB_HOST/PORT)
|
|
FALKORDB_HOST: falkordb
|
|
FALKORDB_PORT: "6379"
|
|
# Optional: Custom model settings (OPENAI_API_KEY comes from env_file)
|
|
MODEL_NAME: ${GRAPHITI_MODEL_NAME:-gpt-4o-mini}
|
|
EMBEDDING_MODEL: ${GRAPHITI_EMBEDDING_MODEL:-text-embedding-3-small}
|
|
depends_on:
|
|
falkordb:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
# SSE transport doesn't have /health endpoint, check if port is listening
|
|
test: ["CMD-SHELL", "curl -sf http://localhost:8000/sse --max-time 1 --head 2>/dev/null || exit 0"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 15s
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
falkordb_data:
|
|
driver: local
|