196 lines
4.8 KiB
YAML
196 lines
4.8 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
|
|
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
|
|
|
|
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
|