forked from OpenSenseNova/MemSense
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
107 lines (102 loc) · 3.72 KB
/
Copy pathdocker-compose.yml
File metadata and controls
107 lines (102 loc) · 3.72 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
services:
postgres:
image: pgvector/pgvector:pg16
environment:
POSTGRES_USER: memsense
POSTGRES_PASSWORD: memsense
POSTGRES_DB: memsense
ports:
- '${MEMSENSE_POSTGRES_PORT:-54329}:5432'
volumes:
- memsense-pg:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U memsense -d memsense"]
interval: 5s
timeout: 3s
retries: 20
server:
build:
context: .
dockerfile: Dockerfile
image: memsense-app:local
working_dir: /app
command: sh -c "npm run db:migrate && npm run server"
environment:
MEMSENSE_DATABASE_URL: postgresql://memsense:memsense@postgres:5432/memsense
MEMSENSE_PORT: ${MEMSENSE_PORT:-8787}
MEMSENSE_EMBEDDING_PROVIDER: ${MEMSENSE_EMBEDDING_PROVIDER:-openai}
MEMSENSE_OPENAI_BASE_URL: ${MEMSENSE_OPENAI_BASE_URL:-https://dashscope.aliyuncs.com/compatible-mode/v1}
MEMSENSE_EMBEDDING_MODEL: ${MEMSENSE_EMBEDDING_MODEL:-text-embedding-v4}
MEMSENSE_OPENAI_API_KEY: ${MEMSENSE_OPENAI_API_KEY:-}
MEMSENSE_BGE_ENDPOINT: ${MEMSENSE_BGE_ENDPOINT:-http://bge:8080/embed}
MEMSENSE_BGE_MODEL: ${MEMSENSE_BGE_MODEL:-BAAI/bge-large-zh-v1.5}
MEMSENSE_DASHBOARD_TOKENS_JSON: ${MEMSENSE_DASHBOARD_TOKENS_JSON:-{"demo":"admin"}}
ports:
- '${MEMSENSE_HOST_PORT:-8787}:8787'
depends_on:
postgres:
condition: service_healthy
healthcheck:
test:
[
"CMD-SHELL",
"node -e \"const port=process.env.MEMSENSE_PORT||8787; fetch('http://127.0.0.1:'+port+'/healthz').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\""
]
interval: 5s
timeout: 3s
retries: 20
worker:
image: memsense-app:local
working_dir: /app
command: sh -c "npm run worker"
environment:
MEMSENSE_DATABASE_URL: postgresql://memsense:memsense@postgres:5432/memsense
MEMSENSE_EMBEDDING_PROVIDER: ${MEMSENSE_EMBEDDING_PROVIDER:-openai}
MEMSENSE_OPENAI_BASE_URL: ${MEMSENSE_OPENAI_BASE_URL:-https://dashscope.aliyuncs.com/compatible-mode/v1}
MEMSENSE_EMBEDDING_MODEL: ${MEMSENSE_EMBEDDING_MODEL:-text-embedding-v4}
MEMSENSE_OPENAI_API_KEY: ${MEMSENSE_OPENAI_API_KEY:-}
MEMSENSE_BGE_ENDPOINT: ${MEMSENSE_BGE_ENDPOINT:-http://bge:8080/embed}
MEMSENSE_BGE_MODEL: ${MEMSENSE_BGE_MODEL:-BAAI/bge-large-zh-v1.5}
MEMSENSE_WORKER_MAX_ATTEMPTS: 5
MEMSENSE_WORKER_IDLE_MS: 800
depends_on:
postgres:
condition: service_healthy
server:
condition: service_healthy
tag-worker:
image: memsense-app:local
working_dir: /app
command: sh -c "npm run tag-worker"
environment:
MEMSENSE_DATABASE_URL: postgresql://memsense:memsense@postgres:5432/memsense
MEMSENSE_TAG_WORKER_MAX_ATTEMPTS: 4
MEMSENSE_TAG_WORKER_IDLE_MS: 1200
MEMSENSE_TAGGER_PROVIDER: ${MEMSENSE_TAGGER_PROVIDER:-auto}
MEMSENSE_TAGGER_MODEL: ${MEMSENSE_TAGGER_MODEL:-auto}
MEMSENSE_TAGGER_BASE_URL: ${MEMSENSE_TAGGER_BASE_URL:-}
MEMSENSE_TAGGER_API_KEY: ${MEMSENSE_TAGGER_API_KEY:-}
MEMSENSE_OPENCLAW_CLI: ${MEMSENSE_OPENCLAW_CLI:-openclaw}
MEMSENSE_OPENCLAW_TAGGER_TIMEOUT_MS: ${MEMSENSE_OPENCLAW_TAGGER_TIMEOUT_MS:-90000}
depends_on:
postgres:
condition: service_healthy
server:
condition: service_healthy
bge:
build:
context: .
dockerfile: Dockerfile.bge
profiles: ["local-bge"]
environment:
MEMSENSE_BGE_HOST: 0.0.0.0
MEMSENSE_BGE_PORT: 8080
MEMSENSE_BGE_SAVE_DIR: /data
MEMSENSE_BGE_MODEL: ${MEMSENSE_BGE_MODEL:-BAAI/bge-large-zh-v1.5}
volumes:
- memsense-hf:/data
ports:
- '${MEMSENSE_BGE_HOST_PORT:-8088}:8080'
volumes:
memsense-pg:
memsense-hf: