-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathdocker-compose.yml
146 lines (128 loc) · 3.38 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
version: '2.3'
services:
zookeeper:
image: wurstmeister/zookeeper:3.4.6
expose:
- "2181"
kafka:
image: wurstmeister/kafka:2.11-2.0.0
depends_on:
- zookeeper
expose:
- "9092"
healthcheck:
test: ["CMD", "nc", "-z", "kafka", "9092"]
interval: 55s
timeout: 10s
retries: 5
environment:
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_CREATE_TOPICS: "data-retrieval:1:1,model-execution:1:1,postprocessing-analysis:1:1,usermanagement:1:1,sessionmanagement:1:1,session-update:1:1"
postprocessing-db:
image: mongo:4.0.4
expose:
- 27017
data-retrieval-db:
image: mongo:4.0.4
expose:
- 27017
model-execution-db:
image: mongo:4.0.4
expose:
- 27017
session-management-db:
image: mongo:4.0.4
expose:
- 27017
data-retrieval-service:
image: adiselv/captivate.data-retrieval:0.0.1
depends_on:
kafka:
condition: service_healthy
data-retrieval-db:
condition: service_started
environment:
KAFKA_SERVER: kafka:9092
DATA_RETRIEVAL_DB: data-retrieval-db:27017
model-execution-service:
image: adiselv/captivate.model-execution:0.0.1
depends_on:
kafka:
condition: service_healthy
model-execution-db:
condition: service_started
environment:
KAFKA_SERVER: kafka:9092
MODEL_EXECUTION_DB: model-execution-db:27017
postprocessing-service:
image: adiselv/captivate.post-process:0.0.1
depends_on:
kafka:
condition: service_healthy
postprocessing-db:
condition: service_started
environment:
KAFKA_SERVER: kafka:9092
POST_PROCESSING_DB: postprocessing-db:27017
session-management-service:
image: adiselv/captivate.session-management:0.0.1
depends_on:
kafka:
condition: service_healthy
session-management-db:
condition: service_started
ports:
- "3005:3005"
environment:
KAFKA_SERVER: kafka:9092
SESSION_MANAGEMENT_DB: mongodb://session-management-db:27017
api-gateway:
image: adiselv/captivate.api-gateway:0.0.1
depends_on:
kafka:
condition: service_healthy
ports:
- "8080:8080"
environment:
KAFKA_SERVER: kafka:9092
mysql-container:
container_name: mysql-container
image: mysql:8.0.19
environment:
MYSQL_ROOT_PASSWORD: root.CAP2020
MYSQL_DATABASE: ads_docker
expose:
- 3306
volumes:
- mysql-data:/var/lib/mysql
user-management:
image: adiselv/captivate.user-management:0.0.1
ports:
- "8181:8181"
environment:
MYSQL_URL: mysql-container:3306
MYSQL_USERNAME: root
MYSQL_ROOT_PASSWORD: root.CAP2020
USER_MANAGEMENT_DB: ads_docker
depends_on:
- mysql-container
ui:
image: adiselv/captivate.ui:0.0.1
ports:
- "3000:3000"
environment:
SESSION_MANAGEMENT_SERVICE: http://session-management-service:3005
USER_MANAGEMENT_SERVICE: http://user-management:8181
API_GATEWAY: http://api-gateway:8080
depends_on:
session-management-service:
condition: service_started
user-management:
condition: service_started
api-gateway:
condition: service_started
volumes:
mysql-data:
driver: local