-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.demo.yml
More file actions
116 lines (110 loc) · 3.69 KB
/
Copy pathdocker-compose.demo.yml
File metadata and controls
116 lines (110 loc) · 3.69 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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
name: memroos-demo
services:
memroos:
build:
context: .
dockerfile: docker/Dockerfile.memroos
ports:
- "${MEMROOS_PORT:-3000}:3000"
environment:
MEMROOS_A2A_PROFILE: ${MEMROOS_A2A_PROFILE:-local-dev}
MEMROOS_PUBLIC_BASE_URL: ${MEMROOS_PUBLIC_BASE_URL:-http://localhost:3000}
MEMROOS_A2A_ENDPOINT_BASE_URL: ${MEMROOS_A2A_ENDPOINT_BASE_URL:-http://localhost:3000}
MEMROOS_OPERATOR_API_KEY: ${MEMROOS_OPERATOR_API_KEY:-demo-key}
MEM0_URL: http://mem0:3201
ORCHESTRATION_SERVICE_URL: http://orchestration:3210
NEO4J_HTTP_URL: ${NEO4J_HTTP_URL:-}
NEO4J_DATABASE: ${NEO4J_DATABASE:-neo4j}
NEO4J_USERNAME: ${NEO4J_USERNAME:-neo4j}
NEO4J_PASSWORD: ${NEO4J_PASSWORD:-demo}
SQLITE_DB_PATH: /data/conversations.db
CLAUDE_MEMORY_PATH: /data/claude-memory
KNOWLEDGE_BASE_PATH: /knowledge
MEMROOS_DATA_RESIDENCY: ${MEMROOS_DATA_RESIDENCY:-0}
LOCAL_JUDGE_PROVIDER: ${LOCAL_JUDGE_PROVIDER:-ollama}
LOCAL_JUDGE_ENDPOINT: ${LOCAL_JUDGE_ENDPOINT:-http://ollama:11434/v1}
LOCAL_JUDGE_MODEL: ${LOCAL_JUDGE_MODEL:-qwen2.5:3b}
AUDIT_RETENTION_DAYS: ${AUDIT_RETENTION_DAYS:-365}
volumes:
- memroos-data:/data
- ${KNOWLEDGE_BASE_PATH:-./docs}:/knowledge:ro
depends_on:
mem0:
condition: service_healthy
orchestration:
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "node -e \"fetch('http://127.0.0.1:3000/login').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\""]
interval: 30s
timeout: 5s
retries: 5
mem0:
build:
context: .
dockerfile: docker/Dockerfile.memory
ports:
- "${MEM0_PORT:-3201}:3201"
environment:
# Demo mode: no Qdrant required
QDRANT_URL: ${QDRANT_URL:-}
QDRANT_API_KEY: ${QDRANT_API_KEY:-}
OLLAMA_BASE_URL: http://ollama:11434
ANONYMIZED_TELEMETRY: "False"
CHROMA_PRODUCT_TELEMETRY_IMPL: chroma_noop_telemetry.NoopTelemetry
CHROMA_TELEMETRY_IMPL: chroma_noop_telemetry.NoopTelemetry
ORT_LOG_SEVERITY_LEVEL: "3"
volumes:
- mem0-logs:/app/services/memory/logs
- mem0-history:/root/.mem0
- ./services/memory/mem0-config.demo.yaml:/app/services/memory/mem0-config.yaml:ro
depends_on:
ollama-pull:
condition: service_completed_successfully
healthcheck:
test: ["CMD-SHELL", "python - <<'PY'\nimport urllib.request\nurllib.request.urlopen('http://127.0.0.1:3201/health', timeout=3)\nPY"]
interval: 30s
timeout: 5s
retries: 5
ollama:
image: ollama/ollama:latest
ports:
- "${OLLAMA_PORT:-11434}:11434"
volumes:
- ollama-data:/root/.ollama
healthcheck:
test: ["CMD-SHELL", "ollama list >/dev/null 2>&1"]
interval: 10s
timeout: 5s
retries: 12
ollama-pull:
image: ollama/ollama:latest
entrypoint: ["/bin/sh", "-lc"]
command:
- "ollama pull qwen2.5:3b && ollama pull nomic-embed-text"
environment:
OLLAMA_HOST: http://ollama:11434
depends_on:
ollama:
condition: service_healthy
orchestration:
build:
context: .
dockerfile: docker/Dockerfile.orchestration
ports:
- "${ORCHESTRATION_PORT:-3210}:3210"
environment:
ORCHESTRATION_DB_PATH: /data/orchestration.db
ORCHESTRATION_RETRY_LIMIT: ${ORCHESTRATION_RETRY_LIMIT:-2}
volumes:
- orchestration-data:/data
healthcheck:
test: ["CMD-SHELL", "python - <<'PY'\nimport urllib.request\nurllib.request.urlopen('http://127.0.0.1:3210/health', timeout=3)\nPY"]
interval: 30s
timeout: 5s
retries: 5
volumes:
memroos-data:
mem0-logs:
mem0-history:
ollama-data:
orchestration-data: