-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
137 lines (137 loc) · 3.26 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
version: '3.2'
services:
admin:
image: mentorpal/mentor-admin:4.2.0
environment:
- NODE_ENV
- GRAPHQL_ENDPOINT=http://graphql:3001/graphql
depends_on:
- graphql
volumes:
- type: bind
source: ./build/run/.env
target: /app/.env
classifier:
image: mentorpal/mentor-classifier-api:4.2.0
depends_on:
- redis
links:
- graphql
- redis
environment:
- CLASSIFIER_ARCH=mentor_classifier.arch.lr_transformer
- GRAPHQL_ENDPOINT=http://graphql:3001/graphql
- MODEL_ROOT
- SHARED_ROOT
- STATUS_URL_FORCE_HTTPS
volumes:
- type: bind
source: ./models
target: /app/models
read_only: true
- type: bind
source: ./shared
target: /app/shared
read_only: true
chat:
image: mentorpal/mentor-client:4.2.0
environment:
- MENTOR_API_URL=/classifier
depends_on:
- classifier
volumes:
- type: bind
source: ./build/run/.env
target: /app/.env
graphql:
image: mentorpal/mentor-graphql:4.2.0
environment:
- NODE_ENV
- MONGO_URI
volumes:
- type: bind
source: ./build/run/.env
target: /app/.env
nginx:
image: nginx:1-alpine
ports:
- 80:80
depends_on:
- admin
- chat
- classifier
- graphql
- upload-api
volumes:
- type: bind
source: ./nginx/nginx.conf
target: /etc/nginx/nginx.conf
- type: bind
source: ./nginx/conf.d
target: /etc/nginx/conf.d
redis:
image: 'redis:6-alpine'
training:
image: mentorpal/mentor-classifier:4.2.0
depends_on:
- graphql
- redis
entrypoint: /app/training_worker.sh
environment:
- CLASSIFIER_ARCH=mentor_classifier.arch.lr_transformer
- GRAPHQL_ENDPOINT=http://graphql:3001/graphql
- LOG_LEVEL_CLASSIFIER=DEBUG
- MODEL_ROOT
- SHARED_ROOT
links:
- graphql
- redis
volumes:
- type: bind
source: ./models
target: /app/models
- type: bind
source: ./shared
target: /app/shared
read_only: true
upload-redis:
# this is a hack, need to figure out
# how to have multiple, independent
# pub/sub instances share a redis via celery
image: 'redis:6-alpine'
upload-api:
image: mentorpal/mentor-upload-api:4.2.0
depends_on:
- upload-redis
environment:
- CELERY_BROKER_URL=redis://upload-redis:6379/0
- CELERY_RESULT_BACKEND=redis://upload-redis:6379/0
links:
- upload-redis
volumes:
- type: bind
source: ./build/run/.env
target: /app/.env
- type: bind
source: ./uploads
target: /app/uploads
upload-worker:
image: mentorpal/mentor-upload-worker:4.2.0
depends_on:
- graphql
- redis
environment:
- CELERY_BROKER_URL=redis://upload-redis:6379/0
- CELERY_RESULT_BACKEND=redis://upload-redis:6379/0
- GRAPHQL_ENDPOINT=http://graphql:3001/graphql
- TRANSCRIBE_MODULE_PATH=transcribe_aws
links:
- graphql
- redis
volumes:
- type: bind
source: ./build/run/.env
target: /app/.env
- type: bind
source: ./uploads
target: /app/uploads