51 lines
1.6 KiB
YAML
51 lines
1.6 KiB
YAML
services:
|
|
server1:
|
|
image: us-central1-docker.pkg.dev/aptivaai-dev/aptiva-repo/server1:prod-20250710
|
|
restart: unless-stopped
|
|
expose: ["5000"]
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "curl -f http://localhost:5000/healthz || exit 1"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
|
|
server2:
|
|
image: us-central1-docker.pkg.dev/aptivaai-dev/aptiva-repo/server2:prod-20250710
|
|
restart: unless-stopped
|
|
expose: ["5001"]
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "curl -f http://localhost:5001/healthz || exit 1"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
|
|
server3:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.server3
|
|
restart: unless-stopped
|
|
expose: ["5002"]
|
|
environment:
|
|
NODE_ENV: production
|
|
JWT_SECRET: gW4QsOu4AJA4MooIUC9ld2i71VbBovzV1INsaU6ftxYPrxLIeMq6/OY61j0X2RV7
|
|
TWILIO_ACCOUNT_SID: ACd700c6fb9f691ccd9ccab73f2dd4173d
|
|
TWILIO_AUTH_TOKEN: fb8979ccb172032a249014c9c30eba80
|
|
TWILIO_MESSAGING_SERVICE_SID: MGMGaa07992a9231c841b1bfb879649026d6
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "curl -f http://localhost:5002/healthz || exit 1"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
nginx:
|
|
image: nginx:1.25-alpine
|
|
command: ["nginx", "-g", "daemon off;"]
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- ./build:/usr/share/nginx/html:ro # React build
|
|
- ./nginx.conf:/etc/nginx/nginx.conf:ro # overwrite default
|
|
- /etc/letsencrypt:/etc/letsencrypt:ro # certs
|
|
- ./empty:/etc/nginx/conf.d # hide default.conf
|
|
depends_on: [server1, server2, server3]
|