-
Notifications
You must be signed in to change notification settings - Fork 3
/
docker-compose.yml
208 lines (188 loc) · 4.16 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
version: "3.3"
services:
api:
build:
context: .
image: friends-backend
env_file: docker-compose.env
environment:
SERVICES: api
PORT: 3000
depends_on:
- authentication-service
- nats
labels:
- "traefik.enable=true"
- "traefik.http.routers.api-gw.rule=PathPrefix(`/`)"
- "traefik.http.services.api-gw.loadbalancer.server.port=3000"
networks:
- internal
- default
user:
build:
context: .
image: friends-backend
env_file: docker-compose.env
environment:
SERVICES: user
depends_on:
- nats
networks:
- internal
- default
ad:
build:
context: .
image: friends-backend
env_file: docker-compose.env
environment:
AD_SERVICE_DNS: EXAMPLE
SERVICES: ad
depends_on:
- nats
networks:
- internal
- default
groupId:
build:
context: .
image: friends-backend
env_file: docker-compose.env
environment:
SERVICES: groupId
depends_on:
- nats
networks:
- internal
- default
create:
build:
context: .
image: friends-backend
env_file: docker-compose.env
environment:
SERVICES: create
depends_on:
- mongo
- nats
networks:
- internal
- default
join:
build:
context: .
image: friends-backend
env_file: docker-compose.env
environment:
SERVICES: join
depends_on:
- mongo
- nats
networks:
- internal
- default
owner:
build:
context: .
image: friends-backend
env_file: docker-compose.env
environment:
SERVICES: owner
depends_on:
- outgoing-proxy-service
- nats
networks:
- internal
- default
mailer-service:
container_name: mailer-service
image: "friends.azurecr.io/mailer-service:latest"
ports:
- "8000:8000"
environment:
NODE_TLS_REJECT_UNAUTHORIZED: 0
USE_REDIS: "false"
USE_AUTH: "false"
MAIL_HOSTS: "smtp.ethereal.email,smtp.ethereal.email,smtp.ethereal.email,smtp.ethereal.email,smtp.ethereal.email"
MAIL_USER: [email protected]
MAIL_PASS: Mdb6ruZm3TPG7Z6Y28
MAILER_PORT: 25
HTTP_SERVER_PORT: 8000
networks:
- internal
- default
mail-builder:
build:
context: .
image: friends-backend
env_file: docker-compose.env
environment:
SERVICES: mail-builder
depends_on:
- mailer-service
- nats
networks:
- internal
- default
mongo:
image: mongo:4
volumes:
- data:/data/db
networks:
- internal
- default
nats:
image: nats:2
networks:
- internal
- default
traefik:
image: traefik:v2.1
command:
- "--api.insecure=true" # Don't do that in production!
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
ports:
- 3000:80
- 3001:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- internal
- default
redis:
image: redis
ports:
- 6379:6379
networks:
- internal
- default
outgoing-proxy-service:
image: friends.azurecr.io/spike-proxy-service
environment:
MODE: outgoing
PORT: 8010
SPIKE_REDIS_HOST: redis://redis
SPIKE_CLIENT_ID: aXzoxtIFbLVjebyr0~ppCQFxfsv3ZLNkHBrkyfhz
SPIKE_CLIENT_SECRET: XUneSMVVJhsGfmVPjjGzZgySdH4hmrNKbXGn5Iupjc68R361v_MuRy_XzBOeCnm3dSNWNU_JBsbWUus7UyVXmvj4cO0GW7am11Ex
SPIKE_URL: https://ospike.northeurope.cloudapp.azure.com/oauAth2/token
TOKEN_GRANT_TYPE: client_credentials
USE_REDIS: 'true'
OUTGOING_SERVICES: '[{"route":"/kartoffel/*","pathRewrite":{"^/kartoffel":""},"target":"http://kartoffel-master.eastus.cloudapp.azure.com:3001","audience":"kartoffel"}]'
ports:
- 8010:8000
networks:
- internal
- default
authentication-service:
image: friends.azurecr.io/authentication-service
env_file: docker-compose.env
ports:
- '8004:3000'
networks:
- internal
- default
networks:
internal:
volumes:
data: