-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
76 lines (71 loc) · 2.42 KB
/
docker-compose.yml
File metadata and controls
76 lines (71 loc) · 2.42 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
name: reflect-memory
x-common-env: &common-env
RM_PORT: 3000
RM_DB_PATH: /data/reflect-memory.db
RM_API_KEY: ${RM_API_KEY}
RM_MODEL_NAME: ${RM_MODEL_NAME:-gpt-4o-mini}
RM_MODEL_API_KEY: ${RM_MODEL_API_KEY:-}
RM_MODEL_BASE_URL: ${RM_MODEL_BASE_URL:-https://api.openai.com/v1}
RM_CHAT_OPENAI_BASE_URL: ${RM_CHAT_OPENAI_BASE_URL:-https://api.openai.com/v1}
RM_PUBLIC_URL: ${RM_PUBLIC_URL:-}
RM_DASHBOARD_SERVICE_KEY: ${RM_DASHBOARD_SERVICE_KEY:-} # Generate: openssl rand -hex 32
RM_DASHBOARD_JWT_SECRET: ${RM_DASHBOARD_JWT_SECRET:-} # Min 32 chars; must match dashboard AUTH_SECRET
RM_OWNER_EMAIL: ${RM_OWNER_EMAIL:-} # Owner email for admin access
RM_AGENT_KEY_CLAUDE: ${RM_AGENT_KEY_CLAUDE:-}
RM_AGENT_KEY_CHATGPT: ${RM_AGENT_KEY_CHATGPT:-}
RM_AGENT_KEY_CURSOR: ${RM_AGENT_KEY_CURSOR:-}
RM_AGENT_KEY_GEMINI: ${RM_AGENT_KEY_GEMINI:-}
RM_AGENT_KEY_GROK: ${RM_AGENT_KEY_GROK:-}
RM_AGENT_KEY_N8N: ${RM_AGENT_KEY_N8N:-}
services:
reflect-memory-isolated:
profiles: ["isolated-hosted"]
build:
context: .
dockerfile: Dockerfile
image: reflect-memory:local
restart: unless-stopped
ports:
- "3000:3000"
environment:
<<: *common-env
RM_DEPLOYMENT_MODE: isolated-hosted
RM_DISABLE_MODEL_EGRESS: ${RM_DISABLE_MODEL_EGRESS:-false}
RM_ALLOW_PUBLIC_WEBHOOKS: ${RM_ALLOW_PUBLIC_WEBHOOKS:-true}
volumes:
- rm_data_isolated:/data
networks:
- rm_public
reflect-memory-selfhost:
profiles: ["self-host"]
build:
context: .
dockerfile: Dockerfile
image: reflect-memory:local
restart: unless-stopped
ports:
- "127.0.0.1:3000:3000"
environment:
<<: *common-env
RM_DEPLOYMENT_MODE: self-host
RM_DISABLE_MODEL_EGRESS: ${RM_DISABLE_MODEL_EGRESS:-true}
RM_REQUIRE_INTERNAL_MODEL_BASE_URL: ${RM_REQUIRE_INTERNAL_MODEL_BASE_URL:-true}
RM_ALLOW_PUBLIC_WEBHOOKS: ${RM_ALLOW_PUBLIC_WEBHOOKS:-false}
RM_ALLOWED_MODEL_HOSTS: ${RM_ALLOWED_MODEL_HOSTS:-}
RM_SSO_ENABLED: ${RM_SSO_ENABLED:-false}
RM_SSO_JWKS_URL: ${RM_SSO_JWKS_URL:-}
RM_SSO_ISSUER: ${RM_SSO_ISSUER:-}
RM_SSO_AUDIENCE: ${RM_SSO_AUDIENCE:-}
RM_TENANT_ID: ${RM_TENANT_ID:-customer-a}
volumes:
- rm_data_selfhost:/data
networks:
- rm_private
networks:
rm_public:
driver: bridge
rm_private:
driver: bridge
volumes:
rm_data_isolated:
rm_data_selfhost: