-
Notifications
You must be signed in to change notification settings - Fork 92
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
71 lines (67 loc) · 2.43 KB
/
docker-compose.yml
File metadata and controls
71 lines (67 loc) · 2.43 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
# docker-compose.yml - Local development environment
services:
falkordb:
image: falkordb/falkordb:latest
ports:
- "6379:6379" # Redis/FalkorDB
- "3000:3000" # Official local graph browser UI (FalkorDB built-in)
volumes:
- falkordb_data:/data # Persistent data
- ./backups/falkordb:/backups # Local backups
environment:
# Aggressive persistence: save every 60s if 1 key changed, enable AOF
# Note: --dir is NOT set here because FalkorDB's run.sh always appends
# --dir $FALKORDB_DATA_PATH after REDIS_ARGS, so any --dir in REDIS_ARGS
# is silently overridden. We set FALKORDB_DATA_PATH=/data instead.
- REDIS_ARGS=--save 60 1 --appendonly yes --appendfsync everysec
- FALKORDB_DATA_PATH=/data
- REDIS_PASSWORD=${FALKORDB_PASSWORD:-}
healthcheck:
test: [ "CMD-SHELL", "if [ -n \"$REDIS_PASSWORD\" ]; then redis-cli -a \"$REDIS_PASSWORD\" ping; else redis-cli ping; fi" ]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
qdrant:
image: qdrant/qdrant:v1.11.3
ports:
- "6333:6333"
volumes:
- qdrant_data:/qdrant/storage
- ./backups/qdrant:/backups
restart: unless-stopped
flask-api:
build: .
ports:
- "8001:8001" # Flask API
environment:
FLASK_ENV: development
FLASK_DEBUG: "1"
PORT: 8001
FALKORDB_HOST: falkordb
FALKORDB_PORT: 6379
FALKORDB_PASSWORD: ${FALKORDB_PASSWORD:-}
QDRANT_URL: http://qdrant:6333
QDRANT_API_KEY: ${QDRANT_API_KEY:-}
AUTOMEM_API_TOKEN: ${AUTOMEM_API_TOKEN:-test-token}
ADMIN_API_TOKEN: ${ADMIN_API_TOKEN:-test-admin-token}
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
VOYAGE_API_KEY: ${VOYAGE_API_KEY:-}
VECTOR_SIZE: ${VECTOR_SIZE:-1024}
EMBEDDING_PROVIDER: ${EMBEDDING_PROVIDER:-auto} # auto|voyage|openai|local|placeholder
MEMORY_CONTENT_HARD_LIMIT: ${MEMORY_CONTENT_HARD_LIMIT:-2000}
MEMORY_AUTO_SUMMARIZE: ${MEMORY_AUTO_SUMMARIZE:-true}
AUTOMEM_MODELS_DIR: /root/.config/automem/models # Keep in sync with volume mount
depends_on:
falkordb:
condition: service_healthy
qdrant:
condition: service_started
volumes:
- .:/app
- fastembed_models:/root/.config/automem/models # Persist embedding models
restart: unless-stopped
volumes:
falkordb_data:
qdrant_data:
fastembed_models: # Persistent cache for local embedding models