214 lines
5.5 KiB
YAML
214 lines
5.5 KiB
YAML
#
|
|
# Deployment
|
|
#
|
|
# Requirements
|
|
# ./backend-core/postgres
|
|
#
|
|
|
|
version: "3"
|
|
services:
|
|
|
|
pg:
|
|
image: postgres:10.3
|
|
environment:
|
|
- POSTGRES_USER=root
|
|
- POSTGRES_PASSWORD=
|
|
- POSTGRES_DB=core
|
|
ports:
|
|
- "5432:5432" # Close this for production
|
|
volumes:
|
|
- ./backend-core/postgres:/docker-entrypoint-initdb.d:ro
|
|
networks:
|
|
- pgnet
|
|
|
|
nats:
|
|
image: nats:latest
|
|
ports: # Close these for production
|
|
- "4222:4222"
|
|
- "6222:6222"
|
|
- "8222:8222"
|
|
networks:
|
|
- natsnet
|
|
|
|
redis:
|
|
image: redis:latest
|
|
ports:
|
|
- "6379:6379" # Close this for production
|
|
networks:
|
|
- redisnet
|
|
|
|
core:
|
|
image: registry.makerforce.io/beep/backend-core:latest
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- pg
|
|
environment:
|
|
- LISTEN=:80
|
|
- POSTGRES=postgresql://root@pg:5432/core?sslmode=disable
|
|
networks:
|
|
- pgnet
|
|
- http
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.frontend.rule=Host:staging.beepvoice.app;PathPrefixStrip:/core/
|
|
- traefik.frontend.auth.forward.address=http://auth:10205/auth
|
|
- traefik.frontend.auth.forward.authResponseHeaders=X-User-Claim
|
|
- traefik.port=80
|
|
|
|
signal:
|
|
image: registry.makerforce.io/beep/backend-signal:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
- PORT=80
|
|
networks:
|
|
- http
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.frontend.rule=Host:staging.beepvoice.app;PathPrefixStrip:/signal/
|
|
- traefik.frontend.auth.forward.address=http://auth:10205/auth
|
|
- traefik.frontend.auth.forward.authResponseHeaders=X-User-Claim
|
|
- traefik.port=80
|
|
|
|
heartbeat:
|
|
image: registry.makerforce.io/beep/backend-heartbeat:latest
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- redis
|
|
environment:
|
|
- LISTEN=:80
|
|
- REDIS=redis:6379
|
|
networks:
|
|
- redisnet
|
|
- http
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.frontend.rule=Host:staging.beepvoice.app;PathPrefixStrip:/heartbeat/
|
|
- traefik.frontend.auth.forward.address=http://auth:10205/auth
|
|
- traefik.frontend.auth.forward.authResponseHeaders=X-User-Claim
|
|
- traefik.port=80
|
|
|
|
login:
|
|
image: registry.makerforce.io/beep/backend-login:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
- LISTEN=:80
|
|
- SECRET=secret
|
|
- POSTGRES=postgresql://root@pg:5432/core?sslmode=disable
|
|
- REDIS=redis:6379
|
|
- TTL=120s
|
|
- MESSAGING_SID=MG19d18fafcff1f3f34dff04c5b04c0699
|
|
- TWILIO_SID=AC22ea3eea85e5108a96b947aea8ab1320
|
|
- TWILIO_TOKEN=fb23fa1a1564aa9f62a7a3117f07b3a0
|
|
networks:
|
|
- http
|
|
- redisnet
|
|
- pgnet
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.frontend.rule=Host:staging.beepvoice.app;PathPrefixStrip:/login/
|
|
- traefik.port=80
|
|
|
|
auth:
|
|
image: registry.makerforce.io/beep/backend-auth:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
- LISTEN=0.0.0.0:10205
|
|
- SECRET=secret
|
|
ports:
|
|
- "10205:10205" # Remove this for production
|
|
networks:
|
|
- http
|
|
|
|
bite:
|
|
image: registry.makerforce.io/beep/backend-bite:latest
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- nats
|
|
environment:
|
|
- LISTEN=:80
|
|
- NATS=nats://nats:4222
|
|
networks:
|
|
- natsnet
|
|
- http
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.frontend.rule=Host:staging.beepvoice.app;PathPrefixStrip:/bite/
|
|
- traefik.frontend.auth.forward.address=http://auth:10205/auth
|
|
- traefik.frontend.auth.forward.authResponseHeaders=X-User-Claim
|
|
- traefik.port=80
|
|
|
|
publish:
|
|
image: registry.makerforce.io/beep/backend-publish:latest
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- nats
|
|
environment:
|
|
- LISTEN=:80
|
|
- NATS=nats://nats:4222
|
|
- SECRET=secret
|
|
networks:
|
|
- natsnet
|
|
- http
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.frontend.rule=Host:staging.beepvoice.app;PathPrefixStrip:/publish/
|
|
- traefik.frontend.auth.forward.address=http://auth:10205/auth
|
|
- traefik.frontend.auth.forward.authResponseHeaders=X-User-Claim
|
|
- traefik.port=80
|
|
|
|
store:
|
|
image: registry.makerforce.io/beep/backend-store:latest
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- nats
|
|
environment:
|
|
- NATS=nats://nats:4222
|
|
- DBPATH=/tmp/badger
|
|
networks:
|
|
- natsnet
|
|
|
|
subscribe:
|
|
image: registry.makerforce.io/beep/backend-subscribe:latest
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- nats
|
|
environment:
|
|
- LISTEN=:80
|
|
- NATS=nats://nats:4222
|
|
networks:
|
|
- natsnet
|
|
- http
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.frontend.rule=Host:staging.beepvoice.app;PathPrefixStrip:/subscribe/
|
|
- traefik.frontend.auth.forward.address=http://auth:10205/auth
|
|
- traefik.frontend.auth.forward.authResponseHeaders=X-User-Claim
|
|
- traefik.port=80
|
|
|
|
transcription:
|
|
image: registry.makerforce.io/beep/backend-transcription:latest
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- nats
|
|
environment:
|
|
- LISTEN=:80
|
|
- NATS=nats://nats:4222
|
|
- API_KEY=AIzaSyDxSXDefzw9gXCQaVzOCYlRn_vcC9Da9Q0
|
|
networks:
|
|
- natsnet
|
|
- http
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.frontend.rule=Host:staging.beepvoice.app;PathPrefixStrip:/transcription/
|
|
- traefik.frontend.auth.forward.address=http://auth:10205/auth
|
|
- traefik.frontend.auth.forward.authResponseHeaders=X-User-Claim
|
|
- traefik.port=80
|
|
|
|
networks:
|
|
pgnet:
|
|
natsnet:
|
|
redisnet:
|
|
http:
|
|
external:
|
|
name: http
|