-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
122 lines (112 loc) · 2.36 KB
/
docker-compose.yml
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
110
111
112
113
114
115
116
117
118
119
120
121
122
version: '2.4'
services:
web:
build: .
ports:
- 8000:8000
env_file:
- .env
command:
[
"uvicorn",
"app.main:app",
"--host",
"0.0.0.0",
"--port",
"8000",
"--loop",
"asyncio"
]
volumes:
- ./app:/workspace/code/app
- ./wait-for-it.sh:/workspace/code/wait-for-it.sh # Make sure the script is available inside the container
environment:
- REDIS_URL=redis://redis:6379/0
- OLLAMA_BASE_URL=http://host.docker.internal:11434
extra_hosts:
- host.docker.internal:host-gateway
networks:
- bridge-net
depends_on:
- redis
- db
- pgvector-db
- ollama
db:
image: postgres:13
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: nurses_db
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- bridge-net
pgvector-db:
image: pgvector/pgvector:pg16
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: vector_db
volumes:
- pgvector_data:/var/lib/postgresql/data
networks:
- bridge-net
ollama:
build: ./docker/ollama
ports:
- "11434:11434"
volumes:
- local-vol:/ollama
networks:
- bridge-net
entrypoint: [ '/usr/bin/bash', 'pull-llm.sh' ]
environment:
- OLLAMA_HOST=0.0.0.0:11434
pull_policy: always
tty: true
restart: unless-stopped
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [ gpu ]
worker:
build: .
command: celery -A app.worker.celery_app worker --concurrency=1 --loglevel=info
volumes:
- ./app:/workspace/code/app
environment:
- REDIS_URL=redis://redis:6379/0
networks:
- bridge-net
depends_on:
- web
- redis
redis:
image: redis:7
networks:
- bridge-net
dashboard:
build: .
command: celery --broker=redis://redis:6379/0 flower --port=5555
ports:
- 5557:5555
environment:
- REDIS_URL=redis://redis:6379/0
networks:
- bridge-net
depends_on:
- web
- redis
- worker
volumes:
local-vol:
driver: local
postgres_data:
pgvector_data:
networks:
bridge-net:
driver: bridge