-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yaml
165 lines (159 loc) · 4.08 KB
/
docker-compose.yaml
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
version: "3.3"
services:
gateway:
image: alphonse92/vpl_gateway
build: vplplusplus_gateway
environment:
SERVER_PORT: 80
CERT: alejandro
CERT_KEY: alejandro
SERVER_NAME: localhost
JAIL_URL: http://jailrunner
JAIL_PATH: /jail
CLIENT_URL: http://client
CLIENT_PATH: /client
CLIENT_STATIC_PATH: /vplclient_static
API_URL: http://api:1337
API_PATH: /apis
MOODLE_URL: http://moodle
MOODLE_PATH: /
ports:
- "80:8080"
networks:
- vpl
mongo:
image: "mongo:latest"
networks:
- vpl
volumes:
- ./data/mongo:/data
ports:
- "27017:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: vpladmin
MONGO_INITDB_ROOT_PASSWORD: secret
MONGO_INITDB_DATABASE: vpl
mysql:
image: "mysql:5.7.21"
networks:
- vpl
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: moodle
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_ROOT_PASSWORD: root
volumes:
- ./data/mysql:/var/lib/mysql
moodle:
image: alphonse92/moodle
build:
context: docker-moodle
args:
MOODLE_CURRENT_BRANCH: MOODLE_34_STABLE
depends_on:
- mysql
networks:
- vpl
environment:
DB_CONNECTOR: mysqli
DB_HOST: mysql
DB_PORT: 3306
DB_NAME: moodle
DB_USERNAME: root
DB_PASSWORD: root
DB_PREFIX: mdl_
MOODLE_DATA: /home/moodle_data
MOODLE_URL: http://localhost
CACERT: /usr/local/etc/php/php.ini
ports:
- "80:80"
volumes:
- ./data/moodle_data:/home/moodle_data
- ./data/moodle:/var/www/html
jail:
image: alphonse92/vpl-jail-execution-java
build:
context: vplplusplus_jail
args:
VERSION: 2.5.2
environment:
JAIL_PORT: 80
JAIL_SECURE_PORT: 443
networks:
- vpl
# ports:
# - "8888:8888"
privileged: true
cap_add:
- ALL
jailrunner:
image: alphonse92/vpl-jail-execution-vpl-jlib-runner
build:
context: vplplusplus_jail_jlib
args:
JLIB_URL: https://raw.githubusercontent.com/alphonse92/vplplusplus_jlib/master/store/VPLPlusPlus-jlib.jar
environment:
ENV: production
API_URL: http://api:1337/api/v1/project/test/case/summary/
API_TOKEN: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1ZGM3M2Q4NmUxOTY2NGFkY2U2ZmI1ZTgiLCJpZCI6LTE1NzMzMzg1MDIzNTEsInVzZXJuYW1lIjoiYXBwIiwidHlwZSI6ImFwaV9jbGllbnQiLCJpYXQiOjE1NzMzMzg1MDJ9.Liim08kZkPPlT-v5yKW9-ywvWpCSmyBMns7i8vFbIIg
JAIL_PORT: 80
JAIL_SECURE_PORT: 443
networks:
- vpl
# ports:
# - "9999:8888"
privileged: true
cap_add:
- ALL
client:
image: alphonse92/vpl_client
networks:
- vpl
build: ./vplplusplus_client
environment:
NODE_ENV: production
REACT_APP_ENV: production
REACT_APP_PUBLIC_URL: /
REACT_APP_API_BASEURL: http://35.247.248.247:1337/api/v1
REACT_APP_CLIENT_ID: 126760867544-k1es3tqiho46b0g831cmsvgokvl0npqu.apps.googleusercontent.com
ports:
- "3000:80"
api:
image: alphonse92/vpl_api
build: vplplusplus_api
command: npm run startdev
volumes:
- ./vplplusplus_api:/usr/src/app
networks:
- vpl
ports:
- "1337:1337"
environment:
NODE_PATH: .
HOST: localhost
PORT: 1337
NODE_ENV: production
SYSTEM_CORES: 1
MONGO: mongodb://vpladmin:secret@mongo:27017/vpl-dev?authSource=admin
MYSQL: mysql://root:root@mysql:3306/moodle?connectionAttributes=program_name:vplplusplus_api
MOODLE_HOST: localhost
MOODLE_PORT: 8080
MOODLE_DB_PREFIX: mdl_
MOODLE_AUTH_TYPE: saltedcrypt
GOOGLE_CLIENT_ID: 126760867544-k1es3tqiho46b0g831cmsvgokvl0npqu.apps.googleusercontent.com
INIT_USER_TYPE: reset
TOKEN_SECRET: secret
TOKEN_EXP_MINUTES: NEVER
CACHE_FOLDER: /tmp/vplplusplus
PUBLIC: api
command: npm run startdev
volumes:
- ./vplplusplus_api:/usr/src
networks:
vpl:
driver: bridge
ipam:
config:
- subnet: 10.0.75.0/24