-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
93 lines (92 loc) · 2.51 KB
/
docker-compose.yml
File metadata and controls
93 lines (92 loc) · 2.51 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
services:
llm:
build:
dockerfile: dockerfiles/llm.dockerfile
container_name: llm
image: stewkk/tfl-lab1-llm:latest
environment:
- MISTRAL_API_KEY=${MISTRAL_API_KEY}
healthcheck:
test: curl --fail 'http://llm:8100/ping' || exit 1
interval: 30s
timeout: 10s
retries: 5
start_period: 5s
restart: unless-stopped
backend:
build:
dockerfile: ./dockerfiles/backend.dockerfile
command: ["/bin/backend", "--callback-mode"]
environment:
- TGTOKEN=${TGTOKEN}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_DB=${POSTGRES_DB}
- GHTOKEN=${GHTOKEN}
env_file: ".env"
container_name: backend
image: stewkk/tfl-lab1-backend:latest
depends_on:
llm:
condition: service_healthy
llm-balancer:
condition: service_started
interpret:
condition: service_healthy
formalize:
condition: service_healthy
postgres:
condition: service_healthy
restart: unless-stopped
interpret:
build:
dockerfile: ./dockerfiles/interpret.dockerfile
container_name: interpret
image: stewkk/tfl-lab1-interpret:latest
healthcheck:
test: curl --fail 'http://interpret:8081/ping' || exit 1
interval: 30s
timeout: 10s
retries: 5
start_period: 5s
restart: unless-stopped
formalize:
build:
dockerfile: ./dockerfiles/formalize.dockerfile
container_name: formalize
image: stewkk/tfl-lab1-formalize:latest
healthcheck:
test: curl --fail 'http://formalize:8000/ping' || exit 1
interval: 30s
timeout: 10s
retries: 5
start_period: 5s
restart: unless-stopped
postgres:
image: public.ecr.aws/docker/library/postgres:17
container_name: postgres
volumes:
- 'postgres_data:/data/postgres'
environment:
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_DB=${POSTGRES_DB}
env_file: ".env"
healthcheck:
test: ["CMD-SHELL", "sh -c 'pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}'"]
interval: 1s
timeout: 5s
retries: 10
ports:
- "5432:5432"
restart: unless-stopped
llm-balancer:
image: public.ecr.aws/nginx/nginx:stable-alpine
container_name: llm-balancer
volumes:
- ./deploy/llm-balancer/compose.conf.template:/etc/nginx/templates/default.conf.template
environment:
- NGINX_PORT=80
volumes:
postgres_data:
driver: local