# # 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