-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
109 lines (102 loc) · 3.06 KB
/
docker-compose.yml
File metadata and controls
109 lines (102 loc) · 3.06 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
services:
c4-frontend:
image: ghcr.io/codecentric/c4-genai-suite/frontend:latest
volumes:
- ./dev/Caddyfile:/etc/caddy/Caddyfile
ports:
- "3333:3080"
depends_on:
c4-backend:
condition: service_started
c4-backend:
image: ghcr.io/codecentric/c4-genai-suite/backend:latest
hostname: c4-backend
environment:
AUTH_ENABLE_PASSWORD: true
BASE_URL: http://localhost:3333
AUTH_INITIAL_ADMIN_USERNAME: admin@example.com
AUTH_INITIAL_ADMIN_PASSWORD: secret
DB_URL: postgres://admin:secret@postgres:5432/cccc
NODE_ENV: dev
SESSION_SECRET: random
depends_on:
postgres:
condition: service_healthy
healthcheck:
test: wget --no-verbose --spider --tries=1 http://localhost:3000/api/health || exit 1
interval: 1s
timeout: 1s
retries: 100
c4-reis:
image: ghcr.io/codecentric/c4-genai-suite/reis:latest
hostname: reis
environment:
EMBEDDINGS_TYPE: ollama
EMBEDDINGS_OLLAMA_ENDPOINT: http://ollama:11434
EMBEDDINGS_OLLAMA_MODEL_NAME: all-minilm
STORE_TYPE: pgvector
STORE_PGVECTOR_URL: postgresql+psycopg://admin:secret@postgres:5432/cccc
STORE_PGVECTOR_INDEX_NAME: basisreistest
FILE_STORE_TYPE: s3
FILE_STORE_S3_ENDPOINT_URL: http://minio:9000
FILE_STORE_S3_ACCESS_KEY_ID: admin
FILE_STORE_S3_SECRET_ACCESS_KEY: secretsecret
FILE_STORE_S3_BUCKET_NAME: reisbucket
depends_on:
ollama:
condition: service_healthy
ollama-models-pull:
condition: service_completed_successfully
healthcheck:
# debian slim based image has no curl/wget
test: python3 -c "import urllib.request, sys; sys.exit(0) if urllib.request.urlopen('http://localhost:3201/health').status == 200 else sys.exit(1)" || exit 2
interval: 1s
timeout: 1s
retries: 20
ollama:
image: ollama/ollama:0.21.1
restart: unless-stopped
volumes:
- ollama-data:/root/.ollama
healthcheck:
test: [ "CMD", "ollama", "list" ]
interval: 10s
timeout: 30s
retries: 5
start_period: 60s
ollama-models-pull:
image: curlimages/curl:8.19.0
depends_on:
ollama:
condition: service_healthy
command: >
curl -X POST ollama:11434/api/pull -d '{"name" : "llama3.2"}'
--next -X POST ollama:11434/api/pull -d '{"name" : "all-minilm"}'
postgres:
image: pgvector/pgvector:pg16
hostname: postgres
environment:
- POSTGRES_USER=admin
- POSTGRES_PASSWORD=secret
- POSTGRES_DB=cccc
- PGPORT=5432
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U admin -d cccc" ]
interval: 1s
timeout: 1s
retries: 20
minio:
image: minio/minio:RELEASE.2025-09-07T16-13-09Z
hostname: minio
environment:
- MINIO_ROOT_USER=admin
- MINIO_ROOT_PASSWORD=secretsecret
volumes:
- minio-data:/data
command: server /data --console-address ":9001"
volumes:
ollama-data:
postgres-data:
minio-data: