This repository was archived by the owner on Apr 20, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
84 lines (80 loc) · 3.32 KB
/
docker-compose.yml
File metadata and controls
84 lines (80 loc) · 3.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# Docker Compose for Auto-Codex
# ===============================
#
# 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-codex/.env (auto-loaded)
# 2. Frontend users: Set in .env in this directory, or:
# - Copy from your project: cp /path/to/your-project/auto-codex/.env .env
# - Or export before running: export OPENAI_API_KEY=sk-... && docker-compose up -d
name: auto-codex
services:
falkordb:
image: "falkordb/falkordb:${FALKORDB_IMAGE_TAG:?Set FALKORDB_IMAGE_TAG}"
container_name: auto-codex-falkordb
ports:
- "127.0.0.1:${GRAPHITI_FALKORDB_PORT:-6380}:6379"
volumes:
- falkordb_data:/data
environment:
- FALKORDB_ARGS=${FALKORDB_ARGS:---appendonly yes}
- FALKORDB_PASSWORD=${FALKORDB_PASSWORD:-}
- GRAPHITI_FALKORDB_PASSWORD=${GRAPHITI_FALKORDB_PASSWORD:-}
healthcheck:
test: ["CMD-SHELL", "if [ -n \"$FALKORDB_PASSWORD\" ]; then redis-cli -a \"$FALKORDB_PASSWORD\" ping | grep -q PONG; elif [ -n \"$GRAPHITI_FALKORDB_PASSWORD\" ]; then redis-cli -a \"$GRAPHITI_FALKORDB_PASSWORD\" ping | grep -q PONG; else redis-cli ping | grep -q PONG; fi"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
graphiti-mcp:
image: "falkordb/graphiti-knowledge-graph-mcp:${GRAPHITI_MCP_IMAGE_TAG:?Set GRAPHITI_MCP_IMAGE_TAG}"
container_name: auto-codex-graphiti-mcp
platform: linux/amd64 # Required: image only available for amd64
ports:
- "127.0.0.1:${GRAPHITI_MCP_PORT:-8000}:8000"
env_file:
# Load API keys from auto-codex/.env (CLI users) or .env (Frontend users)
# Note: Only OPENAI_API_KEY is needed from these files
- path: auto-codex/.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: FalkorDB password (recommended in production)
FALKORDB_PASSWORD: ${GRAPHITI_FALKORDB_PASSWORD:-}
GRAPHITI_FALKORDB_PASSWORD: ${GRAPHITI_FALKORDB_PASSWORD:-}
# 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; just verify the HTTP server responds.
test: ["CMD-SHELL", "curl -sS -o /dev/null -I http://localhost:8000/sse --max-time 1 || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 15s
restart: unless-stopped
volumes:
falkordb_data:
driver: local