-
Notifications
You must be signed in to change notification settings - Fork 110
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
140 lines (138 loc) · 4.73 KB
/
Copy pathdocker-compose.yml
File metadata and controls
140 lines (138 loc) · 4.73 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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
version: "3.9"
services:
postgresdb:
image: postgres:16.8
volumes:
- db:/var/lib/postgresql/data
environment:
- POSTGRES_USER=$DB_USER
- POSTGRES_PASSWORD=${DB_PASSWORD:?DB_PASSWORD must be set in the env file before starting}
- POSTGRES_DB=$DB_NAME
healthcheck:
test: ["CMD", "pg_isready", "-U", "$DB_USER", "-d", "$DB_NAME"]
interval: 5s
timeout: 5s
retries: 5
redis:
image: redis:7
expose:
- "6379"
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
retries: 5
backend:
depends_on:
postgresdb:
condition: service_healthy
redis:
condition: service_healthy
image: ghcr.io/verifywise-ai/verifywise-backend:latest
pull_policy: always
ports:
# Bind to localhost only: the plain-HTTP API must not be reachable from
# the network directly. The TLS-terminating host nginx proxies to it.
- 127.0.0.1:$BACKEND_PORT:$BACKEND_PORT
environment:
- PORT=$BACKEND_PORT
- DB_HOST=postgresdb
- DB_USER=$DB_USER
- DB_PORT=$DB_PORT
- DB_PASSWORD=${DB_PASSWORD:?DB_PASSWORD must be set in the env file before starting}
- DB_NAME=$DB_NAME
- MOCK_DATA_ON=$MOCK_DATA_ON
- JWT_SECRET=${JWT_SECRET:?JWT_SECRET must be set in the env file before starting}
- SMTP_HOST=smtp.gmail.com
- SMTP_PORT=587
- LLM_EVALS_URL=http://eval_server:8000
- REDIS_URL=redis://redis:6379/0
- ENCRYPTION_KEY=$ENCRYPTION_KEY
- AI_GATEWAY_URL=http://ai_gateway:8100
- AI_GATEWAY_INTERNAL_KEY=${AI_GATEWAY_INTERNAL_KEY:?AI_GATEWAY_INTERNAL_KEY must be set in the env file before starting}
- EVAL_SERVER_INTERNAL_KEY=${EVAL_SERVER_INTERNAL_KEY:?EVAL_SERVER_INTERNAL_KEY must be set in the env file before starting}
- SUPERADMIN_EMAIL=$SUPERADMIN_EMAIL
- SUPERADMIN_PASSWORD=${SUPERADMIN_PASSWORD:?SUPERADMIN_PASSWORD must be set in the env file before starting}
frontend:
depends_on:
- backend
image: ghcr.io/verifywise-ai/verifywise-frontend:latest
pull_policy: always
worker:
depends_on:
postgresdb:
condition: service_healthy
redis:
condition: service_healthy
image: ghcr.io/verifywise-ai/verifywise-backend:latest
pull_policy: always
command: ["node", "dist/jobs/worker.js"]
environment:
- DB_HOST=postgresdb
- DB_USER=$DB_USER
- DB_PORT=$DB_PORT
- DB_PASSWORD=${DB_PASSWORD:?DB_PASSWORD must be set in the env file before starting}
- DB_NAME=$DB_NAME
- JWT_SECRET=${JWT_SECRET:?JWT_SECRET must be set in the env file before starting}
- REDIS_URL=redis://redis:6379/0
- ENCRYPTION_KEY=$ENCRYPTION_KEY
restart: unless-stopped
eval_server:
depends_on:
- backend
- redis
- ai_gateway
image: ghcr.io/verifywise-ai/verifywise-eval-server:latest
expose:
- "8000"
volumes:
- eval_uploads:/app/data/uploads
environment:
- DB_HOST=postgresdb
- DB_USER=$DB_USER
- DB_PORT=$DB_PORT
- DB_PASSWORD=${DB_PASSWORD:?DB_PASSWORD must be set in the env file before starting}
- DB_NAME=$DB_NAME
- BACKEND_URL=http://backend:$BACKEND_PORT
- REDIS_URL=redis://redis:6379/0
- ENCRYPTION_KEY=$ENCRYPTION_KEY
- AI_GATEWAY_URL=http://ai_gateway:8100
- AI_GATEWAY_INTERNAL_KEY=${AI_GATEWAY_INTERNAL_KEY:?AI_GATEWAY_INTERNAL_KEY must be set in the env file before starting}
- EVAL_SERVER_INTERNAL_KEY=${EVAL_SERVER_INTERNAL_KEY:?EVAL_SERVER_INTERNAL_KEY must be set in the env file before starting}
ai_gateway:
depends_on:
postgresdb:
condition: service_healthy
redis:
condition: service_healthy
image: ghcr.io/verifywise-ai/verifywise-ai-gateway:latest
expose:
- "8100"
environment:
- DB_HOST=postgresdb
- DB_PORT=$DB_PORT
- DB_USER=$DB_USER
- DB_PASSWORD=${DB_PASSWORD:?DB_PASSWORD must be set in the env file before starting}
- DB_NAME=$DB_NAME
- AI_GATEWAY_INTERNAL_KEY=${AI_GATEWAY_INTERNAL_KEY:?AI_GATEWAY_INTERNAL_KEY must be set in the env file before starting}
- AI_GATEWAY_PORT=8100
- BACKEND_URL=http://backend:$BACKEND_PORT
restart: unless-stopped
langfuse:
depends_on:
postgresdb:
condition: service_healthy
image: langfuse/langfuse:latest
pull_policy: always
ports:
- "3001:3000"
environment:
- DATABASE_URL=postgresql://$DB_USER:$DB_PASSWORD@postgresdb:$DB_PORT/$DB_NAME
- NEXTAUTH_SECRET=changeme-langfuse-nextauth-secret
- NEXTAUTH_URL=http://localhost:3001
- SALT=changeme-langfuse-salt
restart: unless-stopped
volumes:
db:
eval_uploads: