2
0
Fork 0
backend/docker-compose.staging.yml

198 lines
4.9 KiB
YAML

#
# Deployment
#
# Requirements
# ./backend-core/postgres/
# ./keys/
#
version: "3"
services:
pg:
image: postgres:10.3
restart: unless-stopped
environment:
- POSTGRES_USER=root
- POSTGRES_PASSWORD=insecure_postgres_password
- POSTGRES_DB=core
volumes:
- ./backend-core/postgres:/docker-entrypoint-initdb.d:ro
networks:
- pgnet
nats:
image: nats:latest
restart: unless-stopped
networks:
- natsnet
redis:
image: redis:latest
restart: unless-stopped
networks:
- redisnet
minio:
image: minio/minio:latest
restart: unless-stopped
environment:
- MINIO_ACCESS_KEY=insecure_access_key
- MINIO_SECRET_KEY=insecure_secret_key
volumes:
- ./files:/export
command: minio server /export
networks:
- minionet
core:
image: registry.makerforce.io/beep/backend-core:latest
restart: unless-stopped
depends_on:
- pg
environment:
- LISTEN=:80
- POSTGRES=postgresql://root:insecure_postgres_password@pg:5432/core?sslmode=disable
- NATS=nats://nats:4222
networks:
- pgnet
- http
- natsnet
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
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
- POSTGRES=postgresql://root:insecure_postgres_password@pg:5432/core?sslmode=disable
- REDIS=redis:6379
- TTL=120s
- MESSAGING_SID=MG19d18fafcff1f3f34dff04c5b04c0699
- TWILIO_SID=AC22ea3eea85e5108a96b947aea8ab1320
- TWILIO_TOKEN=fb23fa1a1564aa9f62a7a3117f07b3a0
- CORE_URL=http://core/user
volumes:
- ./keys/key:/key:ro
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
volumes:
- ./keys/key.pub:/key.pub:ro
networks:
- http
pictures:
image: registry.makerforce.io/beep/backend-pictures:latest
restart: unless-stopped
depends_on:
- minio
environment:
- LISTEN=:80
- MINIO_ENDPOINT=minio:9000
- MINIO_ID=insecure_access_key
- MINIO_KEY=insecure_secret_key
- MINIO_BUCKET_NAME=beep
- MINIO_LOCATION=us-east-1
networks:
- minionet
labels:
- traefik.enable=true
- traefik.frontend.rule=Host:staging.beepvoice.app;PathPrefixStrip:/pictures/
- traefik.frontend.auth.forward.address=http://auth:10205/auth
- traefik.frontend.auth.forward.authResponseHeaders=X-User-Claim
- traefik.port=80
permissions:
image: registry.makerforce.io/beep/backend-permissions:latest
restart: unless-stopped
depends_on:
- redis
- pg
environment:
- LISTEN=:80
- POSTGRES=postgresql://root:insecure_postgres_password@pg:5432/core?sslmode=disable
- REDIS=redis:6379
networks:
- pgnet
- redisnet
- permissionsnet
webrtc:
image: registry.makerforce.io/beep/backend-webrtc:latest
restart: unless-stopped
depends_on:
- nats
environment:
- LISTEN=:80
- NATS=nats://nats:4222
- PERMISSIONS_HOST=http://permissions
networks:
- natsnet
- http
- permissionsnet
labels:
- traefik.enable=true
- traefik.frontend.rule=Host:staging.beepvoice.app;PathPrefixStrip:/webrtc/
- 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
- LISTEN=:80
- PERMISSIONS_HOST=http://permissions
networks:
- natsnet
- permissionsnet
networks:
pgnet:
natsnet:
redisnet:
minionet:
permissionsnet:
http:
external:
name: http