services:
graphrag:
build: .
image: graphrag-llamaindex
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
# Global registry (stores database configs)
- ${GRAPHRAG_REGISTRY_DIR:-~/.graphrag}:/root/.graphrag
# User documents directory (set via DOCUMENTS_HOME in .env)
- ${DOCUMENTS_HOME:-./documents}:/app/documents
# Project directory (for code access)
- .:/app
env_file:
- .env
environment:
- GRAPHRAG_DATABASE=${GRAPHRAG_DATABASE:-default}
stdin_open: true
tty: true
# Default: show CLI help
command: ["python", "graphrag_cli.py", "--help"]
# Run with: docker compose up mcp
mcp:
image: graphrag-llamaindex
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ${GRAPHRAG_REGISTRY_DIR:-~/.graphrag}:/root/.graphrag
- ${DOCUMENTS_HOME:-./documents}:/app/documents
- .:/app
- /app/node_modules
env_file:
- .env
stdin_open: true
tty: true
environment:
- PYTHONUNBUFFERED=1
- NODE_NO_WARNINGS=1
- GRAPHRAG_DATABASE=${GRAPHRAG_DATABASE:-default}
command: ["npx", "tsx", "mcp_server.ts"]