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 - natsnet 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: