This repository has been archived by the owner on Oct 25, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
214 lines (200 loc) · 4.08 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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
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: