jaothan commited on
Commit
87cae7f
·
verified ·
1 Parent(s): ce1c413

Update docker-compose.yml

Browse files
Files changed (1) hide show
  1. docker-compose.yml +243 -243
docker-compose.yml CHANGED
@@ -1,243 +1,243 @@
1
- services:
2
-
3
- llm: &llm
4
- image: ollama/ollama:latest
5
- profiles: ["linux"]
6
- networks:
7
- - net
8
-
9
- llm-gpu:
10
- <<: *llm
11
- profiles: ["linux-gpu"]
12
- deploy:
13
- resources:
14
- reservations:
15
- devices:
16
- - driver: nvidia
17
- count: all
18
- capabilities: [gpu]
19
-
20
- pull-model:
21
- image: genai-stack/pull-model:latest
22
- build:
23
- context: .
24
- dockerfile: pull_model.Dockerfile
25
- environment:
26
- - OLLAMA_BASE_URL=${OLLAMA_BASE_URL-http://host.docker.internal:11434}
27
- - LLM=${LLM-llama2}
28
- networks:
29
- - net
30
- tty: true
31
-
32
- database:
33
- user: neo4j:neo4j
34
- image: neo4j:5.23
35
- ports:
36
- - 7687:7687
37
- - 7474:7474
38
- volumes:
39
- - $PWD/data:/data
40
- environment:
41
- - NEO4J_AUTH=${NEO4J_USERNAME-neo4j}/${NEO4J_PASSWORD-password}
42
- - NEO4J_PLUGINS=["apoc"]
43
- - NEO4J_db_tx__log_rotation_retention__policy=false
44
- - NEO4J_dbms_security_procedures_unrestricted=apoc.*
45
- healthcheck:
46
- test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider localhost:7474 || exit 1"]
47
- interval: 15s
48
- timeout: 30s
49
- retries: 10
50
- networks:
51
- - net
52
-
53
- loader:
54
- build:
55
- context: .
56
- dockerfile: loader.Dockerfile
57
- volumes:
58
- - $PWD/embedding_model:/embedding_model
59
- environment:
60
- - NEO4J_URI=${NEO4J_URI-neo4j://database:7687}
61
- - NEO4J_PASSWORD=${NEO4J_PASSWORD-password}
62
- - NEO4J_USERNAME=${NEO4J_USERNAME-neo4j}
63
- - OPENAI_API_KEY=${OPENAI_API_KEY-}
64
- - GOOGLE_API_KEY=${GOOGLE_API_KEY-}
65
- - OLLAMA_BASE_URL=${OLLAMA_BASE_URL-http://host.docker.internal:11434}
66
- - EMBEDDING_MODEL=${EMBEDDING_MODEL-sentence_transformer}
67
- - LANGCHAIN_ENDPOINT=${LANGCHAIN_ENDPOINT-"https://api.smith.langchain.com"}
68
- - LANGCHAIN_TRACING_V2=${LANGCHAIN_TRACING_V2-false}
69
- - LANGCHAIN_PROJECT=${LANGCHAIN_PROJECT}
70
- - LANGCHAIN_API_KEY=${LANGCHAIN_API_KEY}
71
- - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
72
- - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
73
- - AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}
74
- networks:
75
- - net
76
- depends_on:
77
- database:
78
- condition: service_healthy
79
- pull-model:
80
- condition: service_completed_successfully
81
- x-develop:
82
- watch:
83
- - action: rebuild
84
- path: .
85
- ignore:
86
- - bot.py
87
- - pdf_bot.py
88
- - api.py
89
- - front-end/
90
- ports:
91
- - 8081:8080
92
- - 8502:8502
93
-
94
-
95
- bot:
96
- build:
97
- context: .
98
- dockerfile: bot.Dockerfile
99
- volumes:
100
- - $PWD/embedding_model:/embedding_model
101
- environment:
102
- - NEO4J_URI=${NEO4J_URI-neo4j://database:7687}
103
- - NEO4J_PASSWORD=${NEO4J_PASSWORD-password}
104
- - NEO4J_USERNAME=${NEO4J_USERNAME-neo4j}
105
- - OPENAI_API_KEY=${OPENAI_API_KEY-}
106
- - GOOGLE_API_KEY=${GOOGLE_API_KEY-}
107
- - OLLAMA_BASE_URL=${OLLAMA_BASE_URL-http://host.docker.internal:11434}
108
- - LLM=${LLM-llama2}
109
- - EMBEDDING_MODEL=${EMBEDDING_MODEL-sentence_transformer}
110
- - LANGCHAIN_ENDPOINT=${LANGCHAIN_ENDPOINT-"https://api.smith.langchain.com"}
111
- - LANGCHAIN_TRACING_V2=${LANGCHAIN_TRACING_V2-false}
112
- - LANGCHAIN_PROJECT=${LANGCHAIN_PROJECT}
113
- - LANGCHAIN_API_KEY=${LANGCHAIN_API_KEY}
114
- - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
115
- - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
116
- - AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}
117
- networks:
118
- - net
119
- depends_on:
120
- database:
121
- condition: service_healthy
122
- pull-model:
123
- condition: service_completed_successfully
124
- x-develop:
125
- watch:
126
- - action: rebuild
127
- path: .
128
- ignore:
129
- - loader.py
130
- - pdf_bot.py
131
- - api.py
132
- - front-end/
133
- ports:
134
- - 8501:8501
135
-
136
- pdf_bot:
137
- build:
138
- context: .
139
- dockerfile: pdf_bot.Dockerfile
140
- environment:
141
- - NEO4J_URI=${NEO4J_URI-neo4j://database:7687}
142
- - NEO4J_PASSWORD=${NEO4J_PASSWORD-password}
143
- - NEO4J_USERNAME=${NEO4J_USERNAME-neo4j}
144
- - OPENAI_API_KEY=${OPENAI_API_KEY-}
145
- - GOOGLE_API_KEY=${GOOGLE_API_KEY-}
146
- - OLLAMA_BASE_URL=${OLLAMA_BASE_URL-http://host.docker.internal:11434}
147
- - LLM=${LLM-llama2}
148
- - EMBEDDING_MODEL=${EMBEDDING_MODEL-sentence_transformer}
149
- - LANGCHAIN_ENDPOINT=${LANGCHAIN_ENDPOINT-"https://api.smith.langchain.com"}
150
- - LANGCHAIN_TRACING_V2=${LANGCHAIN_TRACING_V2-false}
151
- - LANGCHAIN_PROJECT=${LANGCHAIN_PROJECT}
152
- - LANGCHAIN_API_KEY=${LANGCHAIN_API_KEY}
153
- - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
154
- - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
155
- - AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}
156
- networks:
157
- - net
158
- depends_on:
159
- database:
160
- condition: service_healthy
161
- pull-model:
162
- condition: service_completed_successfully
163
- x-develop:
164
- watch:
165
- - action: rebuild
166
- path: .
167
- ignore:
168
- - loader.py
169
- - bot.py
170
- - api.py
171
- - front-end/
172
- ports:
173
- - 8503:8503
174
-
175
- api:
176
- build:
177
- context: .
178
- dockerfile: api.Dockerfile
179
- volumes:
180
- - $PWD/embedding_model:/embedding_model
181
- environment:
182
- - NEO4J_URI=${NEO4J_URI-neo4j://database:7687}
183
- - NEO4J_PASSWORD=${NEO4J_PASSWORD-password}
184
- - NEO4J_USERNAME=${NEO4J_USERNAME-neo4j}
185
- - OPENAI_API_KEY=${OPENAI_API_KEY}
186
- - GOOGLE_API_KEY=${GOOGLE_API_KEY}
187
- - OLLAMA_BASE_URL=${OLLAMA_BASE_URL-http://host.docker.internal:11434}
188
- - LLM=${LLM-llama2}
189
- - EMBEDDING_MODEL=${EMBEDDING_MODEL-sentence_transformer}
190
- - LANGCHAIN_ENDPOINT=${LANGCHAIN_ENDPOINT-"https://api.smith.langchain.com"}
191
- - LANGCHAIN_TRACING_V2=${LANGCHAIN_TRACING_V2-false}
192
- - LANGCHAIN_PROJECT=${LANGCHAIN_PROJECT}
193
- - LANGCHAIN_API_KEY=${LANGCHAIN_API_KEY}
194
- - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
195
- - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
196
- - AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}
197
- networks:
198
- - net
199
- depends_on:
200
- database:
201
- condition: service_healthy
202
- pull-model:
203
- condition: service_completed_successfully
204
- x-develop:
205
- watch:
206
- - action: rebuild
207
- path: .
208
- ignore:
209
- - loader.py
210
- - bot.py
211
- - pdf_bot.py
212
- - front-end/
213
- ports:
214
- - 8504:8504
215
- healthcheck:
216
- test: ["CMD-SHELL", "wget --no-verbose --tries=1 http://localhost:8504/ || exit 1"]
217
- interval: 5s
218
- timeout: 3s
219
- retries: 5
220
-
221
- front-end:
222
- build:
223
- context: .
224
- dockerfile: front-end.Dockerfile
225
- x-develop:
226
- watch:
227
- - action: sync
228
- path: ./front-end
229
- target: /app
230
- ignore:
231
- - ./front-end/node_modules/
232
- - action: rebuild
233
- path: ./front-end/package.json
234
- depends_on:
235
- api:
236
- condition: service_healthy
237
- networks:
238
- - net
239
- ports:
240
- - 8505:8505
241
-
242
- networks:
243
- net:
 
1
+ services:
2
+
3
+ llm: &llm
4
+ image: ollama/ollama:latest
5
+ profiles: ["linux"]
6
+ networks:
7
+ - net
8
+
9
+ llm-gpu:
10
+ <<: *llm
11
+ profiles: ["linux-gpu"]
12
+ deploy:
13
+ resources:
14
+ reservations:
15
+ devices:
16
+ - driver: nvidia
17
+ count: all
18
+ capabilities: [gpu]
19
+
20
+ pull-model:
21
+ image: genai-stack/pull-model:latest
22
+ build:
23
+ context: .
24
+ dockerfile: pull_model.Dockerfile
25
+ environment:
26
+ - OLLAMA_BASE_URL=${OLLAMA_BASE_URL-http://host.docker.internal:11434}
27
+ - LLM=${LLM-llama2}
28
+ networks:
29
+ - net
30
+ tty: true
31
+
32
+ database:
33
+ user: neo4j:neo4j
34
+ image: neo4j:5.23
35
+ ports:
36
+ - 7687:7687
37
+ - 7474:7474
38
+ volumes:
39
+ - $PWD/data:/data
40
+ environment:
41
+ - NEO4J_AUTH=${NEO4J_USERNAME-neo4j}/${NEO4J_PASSWORD-password}
42
+ - NEO4J_PLUGINS=["apoc"]
43
+ - NEO4J_db_tx__log_rotation_retention__policy=false
44
+ - NEO4J_dbms_security_procedures_unrestricted=apoc.*
45
+ healthcheck:
46
+ test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider localhost:7474 || exit 1"]
47
+ interval: 15s
48
+ timeout: 30s
49
+ retries: 10
50
+ networks:
51
+ - net
52
+
53
+ loader:
54
+ build:
55
+ context: .
56
+ dockerfile: loader.Dockerfile
57
+ volumes:
58
+ - $PWD/embedding_model:/embedding_model
59
+ environment:
60
+ - NEO4J_URI=${NEO4J_URI-neo4j://database:7687}
61
+ - NEO4J_PASSWORD=${NEO4J_PASSWORD-password}
62
+ - NEO4J_USERNAME=${NEO4J_USERNAME-neo4j}
63
+ - OPENAI_API_KEY=${OPENAI_API_KEY-}
64
+ - GOOGLE_API_KEY=${GOOGLE_API_KEY-}
65
+ - OLLAMA_BASE_URL=${OLLAMA_BASE_URL-http://host.docker.internal:11434}
66
+ - EMBEDDING_MODEL=${EMBEDDING_MODEL-sentence_transformer}
67
+ - LANGCHAIN_ENDPOINT=${LANGCHAIN_ENDPOINT-"https://api.smith.langchain.com"}
68
+ - LANGCHAIN_TRACING_V2=${LANGCHAIN_TRACING_V2-false}
69
+ - LANGCHAIN_PROJECT=${LANGCHAIN_PROJECT}
70
+ - LANGCHAIN_API_KEY=${LANGCHAIN_API_KEY}
71
+ - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
72
+ - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
73
+ - AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}
74
+ networks:
75
+ - net
76
+ depends_on:
77
+ database:
78
+ condition: service_healthy
79
+ pull-model:
80
+ condition: service_completed_successfully
81
+ x-develop:
82
+ watch:
83
+ - action: rebuild
84
+ path: .
85
+ ignore:
86
+ - bot.py
87
+ - pdf_bot.py
88
+ - api.py
89
+ - front-end/
90
+ ports:
91
+ - 8081:8080
92
+ - 8502:8502
93
+
94
+
95
+ bot:
96
+ build:
97
+ context: .
98
+ dockerfile: bot.Dockerfile
99
+ volumes:
100
+ - $PWD/embedding_model:/embedding_model
101
+ environment:
102
+ - NEO4J_URI=${NEO4J_URI-neo4j://database:7687}
103
+ - NEO4J_PASSWORD=${NEO4J_PASSWORD-password}
104
+ - NEO4J_USERNAME=${NEO4J_USERNAME-neo4j}
105
+ - OPENAI_API_KEY=${OPENAI_API_KEY-}
106
+ - GOOGLE_API_KEY=${GOOGLE_API_KEY-}
107
+ - OLLAMA_BASE_URL=${OLLAMA_BASE_URL-http://host.docker.internal:11434}
108
+ - LLM=${LLM-llama2}
109
+ - EMBEDDING_MODEL=${EMBEDDING_MODEL-sentence_transformer}
110
+ - LANGCHAIN_ENDPOINT=${LANGCHAIN_ENDPOINT-"https://api.smith.langchain.com"}
111
+ - LANGCHAIN_TRACING_V2=${LANGCHAIN_TRACING_V2-false}
112
+ - LANGCHAIN_PROJECT=${LANGCHAIN_PROJECT}
113
+ - LANGCHAIN_API_KEY=${LANGCHAIN_API_KEY}
114
+ - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
115
+ - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
116
+ - AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}
117
+ networks:
118
+ - net
119
+ depends_on:
120
+ database:
121
+ condition: service_healthy
122
+ pull-model:
123
+ condition: service_completed_successfully
124
+ x-develop:
125
+ watch:
126
+ - action: rebuild
127
+ path: .
128
+ ignore:
129
+ - loader.py
130
+ - pdf_bot.py
131
+ - api.py
132
+ - front-end/
133
+ ports:
134
+ - 8501:8501
135
+
136
+ pdf_bot:
137
+ build:
138
+ context: .
139
+ dockerfile: pdf_bot.Dockerfile
140
+ environment:
141
+ - NEO4J_URI=${NEO4J_URI-neo4j://database:7687}
142
+ - NEO4J_PASSWORD=${NEO4J_PASSWORD-password}
143
+ - NEO4J_USERNAME=${NEO4J_USERNAME-neo4j}
144
+ - OPENAI_API_KEY=${OPENAI_API_KEY-}
145
+ - GOOGLE_API_KEY=${GOOGLE_API_KEY-}
146
+ - OLLAMA_BASE_URL=${OLLAMA_BASE_URL-http://host.docker.internal:11434}
147
+ - LLM=${LLM-llama2}
148
+ - EMBEDDING_MODEL=${EMBEDDING_MODEL-sentence_transformer}
149
+ - LANGCHAIN_ENDPOINT=${LANGCHAIN_ENDPOINT-"https://api.smith.langchain.com"}
150
+ - LANGCHAIN_TRACING_V2=${LANGCHAIN_TRACING_V2-false}
151
+ - LANGCHAIN_PROJECT=${LANGCHAIN_PROJECT}
152
+ - LANGCHAIN_API_KEY=${LANGCHAIN_API_KEY}
153
+ - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
154
+ - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
155
+ - AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}
156
+ networks:
157
+ - net
158
+ depends_on:
159
+ database:
160
+ condition: service_healthy
161
+ pull-model:
162
+ condition: service_completed_successfully
163
+ x-develop:
164
+ watch:
165
+ - action: rebuild
166
+ path: .
167
+ ignore:
168
+ - loader.py
169
+ - bot.py
170
+ - api.py
171
+ - front-end/
172
+ ports:
173
+ - 8503:8503
174
+
175
+ api:
176
+ build:
177
+ context: .
178
+ dockerfile: app.Dockerfile
179
+ volumes:
180
+ - $PWD/embedding_model:/embedding_model
181
+ environment:
182
+ - NEO4J_URI=${NEO4J_URI-neo4j://database:7687}
183
+ - NEO4J_PASSWORD=${NEO4J_PASSWORD-password}
184
+ - NEO4J_USERNAME=${NEO4J_USERNAME-neo4j}
185
+ - OPENAI_API_KEY=${OPENAI_API_KEY}
186
+ - GOOGLE_API_KEY=${GOOGLE_API_KEY}
187
+ - OLLAMA_BASE_URL=${OLLAMA_BASE_URL-http://host.docker.internal:11434}
188
+ - LLM=${LLM-llama2}
189
+ - EMBEDDING_MODEL=${EMBEDDING_MODEL-sentence_transformer}
190
+ - LANGCHAIN_ENDPOINT=${LANGCHAIN_ENDPOINT-"https://api.smith.langchain.com"}
191
+ - LANGCHAIN_TRACING_V2=${LANGCHAIN_TRACING_V2-false}
192
+ - LANGCHAIN_PROJECT=${LANGCHAIN_PROJECT}
193
+ - LANGCHAIN_API_KEY=${LANGCHAIN_API_KEY}
194
+ - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
195
+ - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
196
+ - AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}
197
+ networks:
198
+ - net
199
+ depends_on:
200
+ database:
201
+ condition: service_healthy
202
+ pull-model:
203
+ condition: service_completed_successfully
204
+ x-develop:
205
+ watch:
206
+ - action: rebuild
207
+ path: .
208
+ ignore:
209
+ - loader.py
210
+ - bot.py
211
+ - pdf_bot.py
212
+ - front-end/
213
+ ports:
214
+ - 8504:8504
215
+ healthcheck:
216
+ test: ["CMD-SHELL", "wget --no-verbose --tries=1 http://localhost:8504/ || exit 1"]
217
+ interval: 5s
218
+ timeout: 3s
219
+ retries: 5
220
+
221
+ front-end:
222
+ build:
223
+ context: .
224
+ dockerfile: front-end.Dockerfile
225
+ x-develop:
226
+ watch:
227
+ - action: sync
228
+ path: ./front-end
229
+ target: /app
230
+ ignore:
231
+ - ./front-end/node_modules/
232
+ - action: rebuild
233
+ path: ./front-end/package.json
234
+ depends_on:
235
+ api:
236
+ condition: service_healthy
237
+ networks:
238
+ - net
239
+ ports:
240
+ - 8505:8505
241
+
242
+ networks:
243
+ net: