214 lines
4.1 KiB
YAML
214 lines
4.1 KiB
YAML
version: "3"
|
|
services:
|
|
traefik:
|
|
image: traefik
|
|
command: --configfile=/traefik.toml
|
|
depends_on:
|
|
- core
|
|
- heartbeat
|
|
- auth
|
|
- pictures
|
|
- webrtc
|
|
- store
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
- "1837:1837"
|
|
- "8080:8080"
|
|
volumes:
|
|
- ./traefik.toml:/traefik.toml
|
|
networks:
|
|
- traefiknet
|
|
- authnet
|
|
|
|
pg:
|
|
build: ./backend-core/postgres
|
|
environment:
|
|
- POSTGRES_USER=root
|
|
- POSTGRES_PASSWORD=
|
|
- POSTGRES_DB=core
|
|
ports:
|
|
- "5432:5432" # Close this for production
|
|
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
|
|
|
|
minio:
|
|
image: minio/minio:latest
|
|
environment:
|
|
- MINIO_ACCESS_KEY=MINIO_ID
|
|
- MINIO_SECRET_KEY=MINIO_KEY
|
|
ports:
|
|
- "9000:9000"
|
|
volumes:
|
|
- ./files:/export
|
|
command: minio server /export
|
|
networks:
|
|
- minionet
|
|
|
|
core:
|
|
build: ./backend-core
|
|
tty: true
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- pg
|
|
environment:
|
|
- LISTEN=:80
|
|
- POSTGRES=postgresql://root@pg:5432/core?sslmode=disable
|
|
networks:
|
|
- pgnet
|
|
- traefiknet
|
|
|
|
heartbeat:
|
|
build: ./backend-heartbeat
|
|
tty: true
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- redis
|
|
environment:
|
|
- LISTEN=:80
|
|
- REDIS=redis:6379
|
|
networks:
|
|
- redisnet
|
|
- traefiknet
|
|
|
|
login:
|
|
build: ./backend-login
|
|
tty: true
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- pg
|
|
- redis
|
|
- core
|
|
volumes:
|
|
- ${PWD}/key:/key
|
|
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
|
|
- CORE_URL=http://core/user
|
|
networks:
|
|
- traefiknet
|
|
- redisnet
|
|
- pgnet
|
|
|
|
auth:
|
|
build: ./backend-auth
|
|
tty: true
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ${PWD}/key.pub:/key.pub
|
|
environment:
|
|
- LISTEN=0.0.0.0:10205
|
|
- SECRET=secret
|
|
ports:
|
|
- "10205:10205" # Remove this for production
|
|
networks:
|
|
- authnet
|
|
|
|
pictures:
|
|
build: ./backend-pictures
|
|
tty: true
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- minio
|
|
environment:
|
|
- LISTEN=:80
|
|
- MINIO_ENDPOINT=minio:9000
|
|
- MINIO_ID=MINIO_ID
|
|
- MINIO_KEY=MINIO_KEY
|
|
- MINIO_BUCKET_NAME=beep
|
|
- MINIO_LOCATION=us-east-1
|
|
networks:
|
|
- traefiknet
|
|
- minionet
|
|
|
|
# Permissions
|
|
permissions:
|
|
build: ./backend-permissions
|
|
tty: true
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- redis
|
|
- pg
|
|
environment:
|
|
- LISTEN=:80
|
|
- POSTGRES=postgresql://root@pg:5432/core?sslmode=disable
|
|
- REDIS=redis:6379
|
|
networks:
|
|
- pgnet
|
|
- redisnet
|
|
- permissionsnet
|
|
|
|
# Pipeline
|
|
webrtc:
|
|
build: ./backend-webrtc
|
|
tty: true
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- nats
|
|
environment:
|
|
- LISTEN=:80
|
|
- NATS=nats://nats:4222
|
|
- PERMISSIONS_HOST=http://permissions
|
|
networks:
|
|
- traefiknet
|
|
- natsnet
|
|
- permissionsnet
|
|
|
|
store:
|
|
build: ./backend-store
|
|
tty: true
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- nats
|
|
environment:
|
|
- NATS=nats://nats:4222
|
|
- DBPATH=/tmp/badger
|
|
- LISTEN=:80
|
|
- PERMISSIONS_HOST=http://permissions
|
|
networks:
|
|
- natsnet
|
|
- permissionsnet
|
|
|
|
transcription:
|
|
build: ./backend-transcription
|
|
tty: true
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- nats
|
|
environment:
|
|
- NATS=nats://nats:4222
|
|
- API_KEY=AIzaSyDxSXDefzw9gXCQaVzOCYlRn_vcC9Da9Q0
|
|
networks:
|
|
- natsnet
|
|
|
|
networks:
|
|
authnet:
|
|
pgnet:
|
|
natsnet:
|
|
redisnet:
|
|
traefiknet:
|
|
minionet:
|
|
permissionsnet:
|