-
Notifications
You must be signed in to change notification settings - Fork 5
/
docker-compose.yml
153 lines (139 loc) · 3.83 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
version: '3.5'
x-env-dirs: &env-dirs
REPOSITORY_DIR: /data/repository
WORKING_DIR: /data/workspace
STAGING_DIR: /data/staging
CONFIG_DIR: /config
RESOURCES_DIR: /app/resources
ARCHIVE_DIR: /data/archive
x-env-broker: &env-broker
BROKER_HOST: broker
BROKER_USER: &broker-user user
BROKER_PASSWORD: &broker-password password
x-env-jobdb: &env-jobdb
JOB_DB_URL: job-db
JOB_DB_PORT: 27017
JOB_DB_NAME: job_database
FIRST_OBJECT_ID: 1373245
x-env-app-config: &env-app-config
BACKEND_URI: &backend-uri http://localhost:5000
CILANTRO_ENV: &cilantro-env development
OJS_BASE_URL: &ojs-base-url http://mock-server:8080/ojs
OJS_URI: &ojs-uri http://mock-server:8080/ojs/plugins/generic/ojs-cilantro-plugin/api
OJS_AUTH_KEY: &ojs-auth-key ${OJS_AUTH_KEY}
OMP_URI: &omp-uri http://mock-server:8080/omp/plugins/generic/cilantro/api
OMP_AUTH_KEY: &omp-auth-key ${OMP_AUTH_KEY}
ATOM_URI: &atom-uri http://mock-server:8080/atom
ATOM_API_KEY: &atom-api-key ${ATOM_API_KEY}
REPOSITORY_URI: &repository-uri http://service:5000/repository
services:
broker:
image: rabbitmq:3.8
environment:
RABBITMQ_DEFAULT_USER: *broker-user
RABBITMQ_DEFAULT_PASS: *broker-password
db:
image: redis:latest
command: ["redis-server", "--appendonly", "yes"]
volumes:
- ./redis-data:/data
job-db:
container_name: job_db
image: mongo:5.0.1
volumes:
- ./mongo-data:/data/db
service:
container_name: cilantro_service
user: ${UID}
build:
context: .
dockerfile: ./docker/cilantro-service/Dockerfile
ports:
- "5000:5000"
working_dir: /app
volumes:
- .:/app
- ./data:/data
- ./config:/config
environment:
<<: [*env-dirs, *env-broker, *env-jobdb]
DB_HOST: db
CILANTRO_ENV: *cilantro-env
BACKEND_URI: *backend-uri
ATOM_URI: *atom-uri
ATOM_API_KEY: *atom-api-key
OJS_BASE_URL: *ojs-base-url
REPOSITORY_URI: *repository-uri
default-worker:
container_name: cilantro_default_worker
user: ${UID}
build:
context: .
dockerfile: ./docker/cilantro-default-worker/Dockerfile
working_dir: /app
volumes:
- .:/app
- ./data:/data
- ./config:/config
environment:
<<: [*env-dirs, *env-broker, *env-jobdb]
DB_HOST: db
CILANTRO_ENV: *cilantro-env
BACKEND_URI: *backend-uri
OJS_URI: *ojs-uri
OJS_AUTH_KEY: *ojs-auth-key
OMP_URI: *omp-uri
OMP_AUTH_KEY: *omp-auth-key
ATOM_URI: *atom-uri
ATOM_API_KEY: *atom-api-key
REPOSITORY_URI: *repository-uri
convert-worker:
container_name: cilantro_convert_worker
user: ${UID}
build:
context: .
dockerfile: ./docker/cilantro-convert-worker/Dockerfile
working_dir: /app
volumes:
- .:/app
- ./data:/data
- ./config:/config
environment:
<<: [*env-dirs, *env-broker, *env-jobdb]
DB_HOST: db
CILANTRO_ENV: *cilantro-env
nlp-heideltime-worker:
container_name: cilantro_nlp_heideltime_worker
user: ${UID}
build:
context: .
dockerfile: ./docker/cilantro-nlp-heideltime-worker/Dockerfile
working_dir: /app
volumes:
- .:/app
- ./data:/data
- ./config:/config
environment:
<<: [*env-dirs, *env-broker, *env-jobdb]
DB_HOST: db
CILANTRO_ENV: *cilantro-env
nlp-worker:
container_name: cilantro_nlp_worker
user: ${UID}
build:
context: .
dockerfile: ./docker/cilantro-nlp-worker/Dockerfile
working_dir: /app
volumes:
- .:/app
- ./data:/data
- ./config:/config
environment:
<<: [*env-dirs, *env-broker, *env-jobdb]
DB_HOST: db
CILANTRO_ENV: *cilantro-env
mock-server:
image: rodolpheche/wiremock:latest
user: ${UID}
volumes:
- ./test/wiremock_config:/home/wiremock