forked from martin12333/speaker.app
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
105 lines (97 loc) · 2.84 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
###
# speaker.app common Docker Compose.
#
# The specific environments should extend from this configuration.
###
version: "3.8"
networks:
# Establish base network to resolve container hostnames (esp. w/ Nginx)
# @see https://github.com/docker/compose/issues/3412#issuecomment-472323332
zen-rtc-service-network:
services:
# Utilized primarily for scaling of Socket.io
redis:
image: redis
restart: unless-stopped
networks:
- zen-rtc-service-network
expose:
- 6379
mongo:
image: mongo
restart: unless-stopped
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
MONGO_APP_DB_NAME: ${MONGO_APP_DB_NAME}
MONGO_APP_USERNAME: ${MONGO_APP_USERNAME}
MONGO_APP_PASSWORD: ${MONGO_APP_PASSWORD}
volumes:
- ./scripts/mongo.init:/docker-entrypoint-initdb.d
# FIXME: (jh) Consideration was made to use persistent storage for this,
# however, I think that Speaker.app itself should be as stateless as
# possible, and eventually ditching the MongoDB network routing for
# something else might be more ideal
networks:
- zen-rtc-service-network
expose:
- 27017
backend:
build: ./backend
restart: unless-stopped
depends_on:
- redis
- mongo
environment:
NODE_ENV: production
FRONTEND_PROXY_URL: http://frontend:3000
EXPRESS_PORT: 3001
REDIS_HOST: redis
REDIS_PORT: 6379
MONGO_HOSTNAME: mongo
MONGO_PORT: 27017
MONGO_APP_DB_NAME: ${MONGO_APP_DB_NAME}
MONGO_APP_USERNAME: ${MONGO_APP_USERNAME}
MONGO_APP_PASSWORD: ${MONGO_APP_PASSWORD}
UNSPLASH_ACCESS_KEY: ${UNSPLASH_ACCESS_KEY}
COTURN_HOSTNAME: ${COTURN_HOSTNAME}
COTURN_USERNAME: ${COTURN_USERNAME}
COTURN_PASSWORD: ${COTURN_PASSWORD}
COTURN_REALM=: ${COTURN_REALM}
networks:
- zen-rtc-service-network
expose:
- 3001
frontend:
build:
context: ./frontend.web
dockerfile: src/portals/SpeakerAppPortal/Dockerfile.speaker.app
restart: unless-stopped
environment:
NODE_ENV: production
#
# TODO: Move to development?
CI: "true" # Prevent repetitive Docker restart (@see https://github.com/facebook/create-react-app/issues/8688)
networks:
- zen-rtc-service-network
expose:
- 5000
avatar_server:
build: ./avatar_server
restart: unless-stopped
networks:
- zen-rtc-service-network
expose:
- 3000
# TURN / STUN
# coturn:
# image: zenosmosis/docker-coturn
# environment:
# USERNAME: ${COTURN_USERNAME}
# PASSWORD: ${COTURN_PASSWORD}
# REALM: ${COTURN_REALM}
# ports:
# - 3478:3478
# - 3478:3478/udp
# - 65435-65535:65435-65535/udp
# network_mode: host # Expose directly on the host