-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
131 lines (128 loc) · 3.6 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
# Copyright (c) General Electric Company, 2017. All rights reserved.
version: '3'
services:
# only one instance of consul in server mode
consul:
command: -server -bootstrap-expect 1
image: progrium/consul:latest
ports:
- 8300:8300
- 8400:8400
- 8500:8500
- 8600:53/udp
# need one instance of registrator per VM
registrator:
command: -internal consul://consul:8500
image: gliderlabs/registrator:latest
links:
- consul
volumes:
- /var/run/docker.sock:/tmp/docker.sock
# one instance of rabbitmq for the platform
rabbitmq:
image: rt106/rt106-rabbitmq:latest
ports:
- 5672:5672
- 15672:15672
# one instance of the datastore (scale in the future?)
datastore:
image: rt106/rt106-datastore-local:latest
ports:
- 5106:5106
environment:
SERVICE_NAME: datastore
LOAD_DEMO_DATA: "off"
volumes:
- "${LOCAL_DATA_DIR}:/rt106/data"
mysql:
image: rt106/rt106-mysql:latest
ports:
- 3306:3306
volumes:
- rt106-mysql-volume:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: rt106mysql
# thrive-mysql is mapped to external port 3307 to avoid conflict with mysql image above.
thrive-mysql:
image: thriveitcr/thrive-mysql:latest
ports:
- 3307:3306
volumes:
- thrive-mysql-volume:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: thrivemysql
# web server can scale if we put in a load balancer
web:
image: thriveitcr/rt106-frontend:latest
ports:
- 82:8106
environment:
SERVICE_NAME: web
Rt106_SERVER_HOST: ${Rt106_SERVER_HOST}
# volumes:
# - "${DEV_FRONTEND_DIR}:/rt106"
depends_on:
- "rabbitmq"
# web server for seed app can scale if placed behind a load balancer
thrive-app:
image: thriveitcr/thrive-app:latest
ports:
- 80:8306
environment:
SERVICE_NAME: thrive-app
Rt106_SERVER_HOST: ${Rt106_SERVER_HOST}
# volumes:
# - "${DEV_THRIVE_FRONTEND_DIR}:/rt106"
# analytics can scale (but we cannot expose the port to the host, but still to list a port for Registrator to recognize)
# the DNS in Consul will provide a unique port number to route through
wavelet-nuclei-segmentation:
image: rt106/rt106-wavelet-nuclei-segmentation:latest
ports:
- 7106
environment:
MSG_SYSTEM: amqp
SERVICE_NAME: wavelet-nuclei-segmentation--v1_0_0
SERVICE_TAGS: analytic
whole-cell-segmentation:
image: thriveitcr/whole-cell-segmentation:latest
ports:
- 7106
environment:
MSG_SYSTEM: amqp
SERVICE_NAME: whole-cell-segmentation--v1_0_0
SERVICE_TAGS: analytic
multi-compartment-cell-quantification:
image: thriveitcr/multi-compartment-cell-quantification:latest
ports:
- 7106
environment:
MSG_SYSTEM: amqp
SERVICE_NAME: multi-compartment-cell-quantification--v1_0_0
SERVICE_TAGS: analytic
simple-heterogeneity-metrics:
image: thriveitcr/simple-heterogeneity-metrics:latest
ports:
- 7106
environment:
MSG_SYSTEM: amqp
SERVICE_NAME: simple-heterogeneity-metrics--v1_0_0
SERVICE_TAGS: analytic
multi-omics-heterogeneity-analysis:
image: thriveitcr/multi-omics-heterogeneity-analysis:latest
ports:
- 7106
environment:
MSG_SYSTEM: amqp
SERVICE_NAME: multi-omics-heterogeneity-analysis--v1_0_0
SERVICE_TAGS: analytic
# return-rgb-file:
# image: rt106/return-rgb-file:latest
# ports:
# - 7106
# environment:
# MSG_SYSTEM: amqp
# SERVICE_NAME: return-rgb-file--v1_0_0
# SERVICE_TAGS: analytic
volumes:
rt106-mysql-volume:
thrive-mysql-volume: