1+ version: "3.9"
2+
3+ services:
4+ kratos-migrate:
5+ image: oryd/kratos:{KRATOS}
6+ environment:
7+ - DSN=sqlite:///var/lib/sqlite/db.sqlite?_fk=true&mode=rwc
8+ volumes:
9+ - type: volume
10+ source: kratos-sqlite
11+ target: /var/lib/sqlite
12+ read_only: false
13+ - {LOCAL_VOLUME_KRATOS}/kratos.yml:/home/.kratos.yaml
14+ command: migrate sql -e --yes
15+ restart: on-failure
16+ networks:
17+ - default
18+
19+ kratos:
20+ depends_on:
21+ - kratos-migrate
22+ image: oryd/kratos:{KRATOS}
23+ restart: unless-stopped
24+ environment:
25+ - DSN=sqlite:///var/lib/sqlite/db.sqlite?_fk=true
26+ - LOG_LEVEL=trace
27+ - SERVE_PUBLIC_BASE_URL=http://localhost:4455/.ory/kratos/public/
28+ command: serve -c /etc/config/kratos/kratos.yml --dev --watch-courier
29+ volumes:
30+ - {LOCAL_VOLUME_KRATOS}:/etc/config/kratos:Z
31+ - kratos-sqlite:/var/lib/sqlite
32+ networks:
33+ - default
34+
35+ oathkeeper:
36+ image: oryd/oathkeeper:{OATHKEEPER}
37+ depends_on:
38+ - kratos
39+ ports:
40+ - 4455:4455
41+ command: serve proxy -c "/etc/config/oathkeeper/oathkeeper.yml"
42+ environment:
43+ - LOG_LEVEL=debug
44+ restart: on-failure
45+ networks:
46+ - default
47+ volumes:
48+ - {LOCAL_VOLUME_OATHKEEPER}:/etc/config/oathkeeper:Z
49+
50+ refinery-authorizer:
51+ image: kernai/refinery-authorizer:{AUTHORIZER}
52+ restart: always
53+ expose:
54+ - 80
55+ networks:
56+ - default
57+
58+ mailhog:
59+ image: mailhog/mailhog:{MAILHOG}
60+ ports:
61+ - 1025:1025
62+ - 4436:8025
63+ networks:
64+ - default
65+
66+ refinery-ui:
67+ image: kernai/refinery-ui:{UI}
68+ restart: always
69+ ports:
70+ - 7050:80
71+ expose:
72+ - 80
73+ networks:
74+ - default
75+
76+ refinery-entry:
77+ image: kernai/refinery-entry:{ENTRY}
78+ restart: always
79+ environment:
80+ - IS_OS=1
81+ expose:
82+ - 80
83+ networks:
84+ - default
85+
86+ postgres-migrate:
87+ depends_on:
88+ - graphql-postgres
89+ image: kernai/refinery-gateway:{GATEWAY}
90+ environment:
91+ - POSTGRES=postgresql://postgres:onetask@graphql-postgres:5432
92+ command: alembic upgrade head
93+ networks:
94+ - default
95+
96+ refinery-gateway:
97+ depends_on:
98+ - refinery-config
99+ image: kernai/refinery-gateway:{GATEWAY}
100+ restart: always
101+ ports:
102+ - 7051:80
103+ expose:
104+ - 80
105+ volumes:
106+ - /var/run/docker.sock:/var/run/docker.sock:Z
107+ - graphql-sqlite:/sqlite
108+ environment:
109+ - AC_EXEC_ENV_IMAGE=kernai/refinery-ac-exec-env:{AC_EXEC_ENV}
110+ - LF_EXEC_ENV_IMAGE=kernai/refinery-lf-exec-env:{LF_EXEC_ENV}
111+ - ML_EXEC_ENV_IMAGE=kernai/refinery-ml-exec-env:{ML_EXEC_ENV}
112+ - RECORD_IDE_IMAGE=kernai/refinery-record-ide-env:{RECORD_IDE_ENV}
113+ - POSTGRES=postgresql://postgres:onetask@graphql-postgres:5432
114+ - LF_NETWORK=refinery_default
115+ - WEAK_SUPERVISION=http://refinery-weak-supervisor:80
116+ - EMBEDDING_SERVICE=http://refinery-embedder:80
117+ - DOC_OCK=http://refinery-doc-ock:80
118+ - TOKENIZER=http://refinery-tokenizer:80
119+ - ZERO_SHOT=http://refinery-zero-shot:80
120+ - NEURAL_SEARCH=http://refinery-neural-search:80
121+ - KRATOS_ADMIN_URL=http://kratos:4434
122+ - WS_NOTIFY_ENDPOINT=http://refinery-websocket:8080
123+ - UPDATER=http://refinery-updater:80
124+ - S3_URI=object-storage:9000 # remove as soon as multipart upload is merged
125+ - S3_ENDPOINT={CRED_ENDPOINT}
126+ - S3_ENDPOINT_LOCAL=object-storage:9000
127+ - S3_ACCESS_KEY=onetask
128+ - S3_SECRET_KEY=JRZtI0SLsEDb3imTy03R
129+ - SQLITE=/sqlite/db.sqlite
130+ # - TYPESENSE_SEARCH=http://typesense-api:80
131+ networks:
132+ - default
133+
134+ graphql-postgres:
135+ image: docker.io/postgres:{POSTGRES}
136+ restart: always
137+ ports:
138+ - 7052:5432
139+ environment:
140+ - POSTGRES_PASSWORD=onetask
141+ - POSTGRES_USER=postgres
142+ expose:
143+ - 5432
144+ networks:
145+ - default
146+ volumes:
147+ - {LOCAL_VOLUME_POSTGRES}:/var/lib/postgresql/data
148+
149+ qdrant:
150+ # hallo
151+ image: qdrant/qdrant:{QDRANT}
152+ restart: always
153+ ports:
154+ - 6333:6333
155+ expose:
156+ - 6333
157+ networks:
158+ - default
159+ volumes:
160+ - {LOCAL_VOLUME_QDRANT}:/qdrant/storage
161+
162+ refinery-gateway-proxy:
163+ depends_on:
164+ - graphql-postgres
165+ image: kernai/refinery-gateway-proxy:{GATEWAY_PROXY}
166+ restart: always
167+ expose:
168+ - 80
169+ environment:
170+ - POSTGRES=postgresql://postgres:onetask@postgres:5432
171+ - GATEWAY=http://refinery-gateway:80
172+ - KRATOS=http://kratos:4433
173+ - CONFIG=http://refinery-config:80
174+ links:
175+ - "graphql-postgres:postgres"
176+ networks:
177+ - default
178+
179+ object-storage:
180+ image: docker.io/minio/minio:{MINIO}
181+ restart: always
182+ ports:
183+ - 7053:9000
184+ - 9001:9001
185+ expose:
186+ - 9000
187+ environment:
188+ - MINIO_ROOT_USER=onetask
189+ - MINIO_ROOT_PASSWORD=JRZtI0SLsEDb3imTy03R
190+ - MINIO_NOTIFY_WEBHOOK_ENABLE=on
191+ - MINIO_NOTIFY_WEBHOOK_ENDPOINT=http://refinery-gateway:80/notify
192+ command: server /data --address :9000 --console-address ":9001"
193+ networks:
194+ - default
195+ volumes:
196+ - {LOCAL_VOLUME_MINIO}:/data
197+
198+ refinery-weak-supervisor:
199+ image: kernai/refinery-weak-supervisor:{WEAK_SUPERVISOR}
200+ restart: unless-stopped
201+ ports:
202+ - 7054:80
203+ expose:
204+ - 80
205+ environment:
206+ - POSTGRES=postgresql://postgres:onetask@graphql-postgres:5432
207+ - WS_NOTIFY_ENDPOINT=http://refinery-websocket:8080
208+ networks:
209+ - default
210+
211+ refinery-embedder:
212+ image: kernai/refinery-embedder:{EMBEDDER}
213+ restart: unless-stopped
214+ ports:
215+ - 7058:80
216+ environment:
217+ - POSTGRES=postgresql://postgres:onetask@graphql-postgres:5432
218+ - S3_ENDPOINT_LOCAL=object-storage:9000
219+ - S3_ACCESS_KEY=onetask
220+ - S3_SECRET_KEY=JRZtI0SLsEDb3imTy03R
221+ - DOC_OCK=http://refinery-doc-ock:80
222+ - WS_NOTIFY_ENDPOINT=http://refinery-websocket:8080
223+ - NEURAL_SEARCH=http://refinery-neural-search:80
224+ expose:
225+ - 80
226+ networks:
227+ - default
228+
229+ refinery-config:
230+ image: kernai/refinery-config:{CONFIG}
231+ restart: unless-stopped
232+ ports:
233+ - 7059:80
234+ environment:
235+ - IS_MANAGED=0
236+ - KERN_S3_ENDPOINT={MINIO_ENDPOINT}
237+ expose:
238+ - 80
239+ networks:
240+ - default
241+
242+ refinery-doc-ock:
243+ depends_on:
244+ - refinery-config
245+ image: kernai/refinery-doc-ock:{DOC_OCK}
246+ restart: unless-stopped
247+ ports:
248+ - 7060:80
249+ expose:
250+ - 80
251+ environment:
252+ - TELEMETRY_URI=https://telemetry.kern.ai
253+
254+ refinery-websocket:
255+ image: kernai/refinery-websocket:{WEBSOCKET}
256+ restart: unless-stopped
257+ environment:
258+ - DB_DSN=postgresql://postgres:onetask@graphql-postgres:5432?sslmode=disable
259+ expose:
260+ - 8080
261+ networks:
262+ - default
263+
264+ refinery-tokenizer:
265+ depends_on:
266+ - refinery-config
267+ image: kernai/refinery-tokenizer:{TOKENIZER}
268+ restart: unless-stopped
269+ ports:
270+ - 7061:80
271+ environment:
272+ - POSTGRES=postgresql://postgres:onetask@graphql-postgres:5432
273+ - S3_ENDPOINT_LOCAL=object-storage:9000
274+ - S3_ACCESS_KEY=onetask
275+ - S3_SECRET_KEY=JRZtI0SLsEDb3imTy03R
276+ - DOC_OCK=http://refinery-doc-ock:80
277+ - WS_NOTIFY_ENDPOINT=http://refinery-websocket:8080
278+ expose:
279+ - 80
280+ networks:
281+ - default
282+
283+ refinery-updater:
284+ image: kernai/refinery-updater:{UPDATER}
285+ restart: unless-stopped
286+ ports:
287+ - 7062:80
288+ environment:
289+ - NEURAL_SEARCH=http://refinery-neural-search:80
290+ - POSTGRES=postgresql://postgres:onetask@graphql-postgres:5432
291+ - S3_ENDPOINT_LOCAL=object-storage:9000
292+ - S3_ACCESS_KEY=onetask
293+ - S3_SECRET_KEY=JRZtI0SLsEDb3imTy03R
294+ expose:
295+ - 80
296+ networks:
297+ - default
298+
299+ refinery-neural-search:
300+ image: kernai/refinery-neural-search:{NEURAL_SEARCH}
301+ restart: unless-stopped
302+ ports:
303+ - 7063:80
304+ environment:
305+ - POSTGRES=postgresql://postgres:onetask@graphql-postgres:5432
306+ - QDRANT_PORT=6333
307+ expose:
308+ - 80
309+ networks:
310+ - default
311+
312+ refinery-zero-shot:
313+ image: kernai/refinery-zero-shot:{ZERO_SHOT}
314+ restart: unless-stopped
315+ ports:
316+ - 7064:80
317+ environment:
318+ - POSTGRES=postgresql://postgres:onetask@graphql-postgres:5432
319+ - WS_NOTIFY_ENDPOINT=http://refinery-websocket:8080
320+ expose:
321+ - 80
322+ networks:
323+ - default
324+
325+ networks:
326+ default:
327+
328+ volumes:
329+ kratos-sqlite:
330+ graphql-sqlite:
0 commit comments