-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
357 lines (332 loc) · 8.33 KB
/
docker-compose.yml
File metadata and controls
357 lines (332 loc) · 8.33 KB
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
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
services:
# User Database
db:
image: postgres
container_name: data_base_pg
restart: always
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: data_base
ports:
- "5432:5432"
volumes:
- ./db/init.sql:/docker-entrypoint-initdb.d/init.sql
networks:
- compose-bridge
# Indeitify Service Database
db_idp:
image: postgres
container_name: data_base_idp
restart: always
environment:
POSTGRES_USER: idp
POSTGRES_PASSWORD: password
POSTGRES_DB: data_base_idp
ports:
- "5435:5432"
volumes:
- ./db/init.sql:/docker-entrypoint-initdb.d/init.sql
networks:
- db-idp-bridge
# User Managment Service Database
db_ums:
image: postgres
container_name: data_base_ums
restart: always
environment:
POSTGRES_USER: ums
POSTGRES_PASSWORD: password
POSTGRES_DB: data_base_ums
ports:
- "5436:5432"
volumes:
- ./db/init.sql:/docker-entrypoint-initdb.d/init.sql
networks:
- db-ums-bridge
# Hangfire database
db_ads:
image: postgres
container_name: data_base_pg_ads
restart: always
environment:
POSTGRES_USER: hangfire
POSTGRES_PASSWORD: password
POSTGRES_DB: data_base_hangfire
ports:
- "5433:5432"
volumes:
- ./db/init.sql:/docker-entrypoint-initdb.d/init.sql
networks:
- db-ads-bridge
# sessions Data base
db_sessions:
image: postgres
container_name: data_base_sessions
restart: always
environment:
POSTGRES_USER: sessions
POSTGRES_PASSWORD: password
POSTGRES_DB: data_base_sessions
ports:
- "5434:5432"
volumes:
- ./db/init.sql:/docker-entrypoint-initdb.d/init.sql
networks:
- db-sessions-bridge
#Redis
redis:
image: redis:latest
container_name: redis_container
ports:
- "6379:6379"
volumes:
- redis_data:/data
networks:
- redis_network
#RabbitMQ Container
rabbitmq:
image: rabbitmq:3-management
container_name: rabbitmq
ports:
- "5672:5672"
- "15672:15672"
environment:
RABBITMQ_DEFAULT_USER: user
RABBITMQ_DEFAULT_PASS: password
volumes:
- rabbitmq_data:/var/lib/rabbitmq
networks:
- rabbit_network
#Worker 1 Verification Email
worker1:
container_name: worker1_verification_email
image: ${DOCKER_REGISTRY}worker1
build:
context: ./Workers/verification_email
dockerfile: Dockerfile
networks:
- rabbit_network
depends_on:
- rabbitmq
# Worker 2 Welcome Message
worker2:
container_name: worker2_welcome_message
image: ${DOCKER_REGISTRY}worker2
build:
context: ./Workers/welcome_message
dockerfile: Dockerfile
networks:
- rabbit_network
depends_on:
- rabbitmq
# Worker 3 Account Recuperation
worker3:
container_name: worker3_account_recuperation
image: ${DOCKER_REGISTRY}worker3
build:
context: ./Workers/password_recuperation
dockerfile: Dockerfile
networks:
- rabbit_network
depends_on:
- rabbitmq
# Worker 4 Account Recuperation
worker4:
container_name: worker4_verification_new_email
image: ${DOCKER_REGISTRY}worker4
build:
context: ./Workers/verification_new_email
dockerfile: Dockerfile
networks:
- rabbit_network
depends_on:
- rabbitmq
# Worker 5 2AF message
worker5:
container_name: worker5_2AFCode
image: ${DOCKER_REGISTRY}worker5
build:
context: ./Workers/2AF_message
dockerfile: Dockerfile
networks:
- rabbit_network
depends_on:
- rabbitmq
# Worker 6 RBA
worker6:
container_name: worker6_RBA
image: ${DOCKER_REGISTRY}worker6
build:
context: ./Workers/RBA_message
dockerfile: Dockerfile
networks:
- rabbit_network
depends_on:
- rabbitmq
# Account Delation Scheduler Servies
ads:
environment:
- ASPNETCORE_Kestrel__Certificates__Default__Path=/https/hanguser.pfx
- ASPNETCORE_Kestrel__Certificates__Default__Password=pass123
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_HTTP_PORTS=3434
- ASPNETCORE_HTTPS_PORTS=3434
container_name: ads-server.net
image: ${DOCKER_REGISTRY-}ads-server
build:
context: .
dockerfile: Service/AccountDeletionScheduler/Dockerfile
ports:
- "3434:3434"
volumes:
- ./certs/hangfire/hanguser.pfx:/https/hanguser.pfx
networks:
- db-ads-bridge
- compose-bridge
depends_on:
- db_ads
#User Api Container
user:
environment:
- ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetcert.pfx
- ASPNETCORE_Kestrel__Certificates__Default__Password=pass123
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_HTTP_PORTS=4080
- ASPNETCORE_HTTPS_PORTS=4080
container_name: user.net
image: ${DOCKER_REGISTRY-}user
build:
context: .
dockerfile: Service/User/Dockerfile
ports:
- "4080:4080"
volumes:
- ./certs/user/aspnetcert.pfx:/https/aspnetcert.pfx
networks:
- compose-bridge
- db-ads-bridge
depends_on:
- db
# sessions Api
sessions:
environment:
- ASPNETCORE_Kestrel__Certificates__Default__Path=/https/ser.pfx
- ASPNETCORE_Kestrel__Certificates__Default__Password=dos123
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_HTTP_PORTS=6070
- ASPNETCORE_HTTPS_PORTS=6070
build:
context: .
dockerfile: Service/SessionsManagement/Dockerfile
container_name: session-service
ports:
- "6070:6070" # gRPC
networks:
- db-sessions-bridge
depends_on:
- db_sessions
# Ips Service
idp:
environment:
- ASPNETCORE_Kestrel__Certificates__Default__Path=/https/cert.pfx
- ASPNETCORE_Kestrel__Certificates__Default__Password=pass123
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_HTTP_PORTS=5090
- ASPNETCORE_HTTPS_PORTS=5090
container_name: ips.net
image: ${DOCKER_REGISTRY-}idp
build:
context: .
dockerfile: Service/IdentifyService/Dockerfile
ports:
- "5090:5090"
depends_on:
- redis
- ums
- db_idp
- rabbitmq
volumes:
- ./certs/auth/cert.pfx:/https/cert.pfx
- ./scripts/wait-for-it.sh:/wait-for-it.sh
networks:
- db-idp-bridge
- db-ums-bridge
- rabbit_network
- redis_network
# User Management Services
ums:
environment:
- ASPNETCORE_Kestrel__Certificates__Default__Path=/https/ums.pfx
- ASPNETCORE_Kestrel__Certificates__Default__Password=detro123
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_HTTP_PORTS=7080
- ASPNETCORE_HTTPS_PORTS=7080
container_name: ums.net
image: ${DOCKER_REGISTRY-}ums
build:
context: .
dockerfile: Service/UserManagementService/Dockerfile
ports:
- "7080:7080"
depends_on:
- user
- redis
- sessions
- ads
- db_ums
- rabbitmq
volumes:
- ./certs/ums/ums.pfx:/https/ums.pfx
- ./scripts/wait-for-it.sh:/wait-for-it.sh
networks:
- compose-bridge
- db-sessions-bridge
- db-ums-bridge
- db-idp-bridge
- db-ads-bridge
- rabbit_network
- redis_network
# Api Gateway Container
yarp-gateway:
environment:
- ASPNETCORE_Kestrel__Certificates__Default__Path=/https/gate.pfx
- ASPNETCORE_Kestrel__Certificates__Default__Password=pass123
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_HTTP_PORTS=8888
- ASPNETCORE_HTTPS_PORTS=8888
container_name: gate.net
image: ${DOCKER_REGISTRY-}yarp-gateway
build:
context: .
dockerfile: YarpGateway/Dockerfile
ports:
- "8888:8888"
depends_on:
- idp
- ums
volumes:
- ./certs/gateway/gate.pfx:/https/gate.pfx
- ./scripts/wait-for-it.sh:/wait-for-it.sh
networks:
- db-ums-bridge
- db-idp-bridge
volumes:
redis_data:
rabbitmq_data:
driver: local
networks:
redis_network:
driver: bridge
rabbit_network:
driver: bridge
compose-bridge:
driver: bridge
db-ads-bridge:
driver : bridge
db-sessions-bridge:
driver: bridge
db-idp-bridge:
driver: bridge
db-ums-bridge:
driver: bridge