-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathdocker-compose.yml
73 lines (63 loc) · 1.97 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
# OpenML dev docker-compose
# For local dev environment setup
# *Insecure & Not for Production Setup*
# Notes:
# issues: Rui Quintino,https://github.com/rquintino
# config folder is used to share some config keys after init between containers
# $ needs escaping to $$ in docker_compose file, $api_key is then $$api_key
# TODO: gollum not working, CORS issue, needs apache mapping, local gollum install on website container?
# OpenML main repo is mapped as volume, not copied within the built images, for enable development
version: '2'
services:
# MySQL dbs
mysql:
image: mysql:5.7.25
command: mysqld --default-authentication-plugin=mysql_native_password
build: ./mysql
environment:
MYSQL_ROOT_PASSWORD: ""
MYSQL_DATABASE: openml
# Elastic search indexes
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.8.2
build: ./elasticsearch
command: elasticsearch
ports:
- "9200:9200"
- "9300:9300"
# Php frontend
website:
build: ./website
ports:
- 80:80
volumes:
- ./config:/openmlconfig
- ./OpenML:/var/www/html
depends_on:
- mysql
- elasticsearch
- gollum
# MySQL admin UI (tool)
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
volumes:
- ./config:/openmlconfig
ports:
- 8080:80
environment:
- PMA_HOST=mysql
depends_on:
- mysql
# OpenML Java background workers
java:
image: java
volumes:
- ./config:/openmlconfig
- ./OpenML:/var/www/html
# runs openml process_dataset java background task each 10 secs
command: /bin/bash -c 'while sleep 10;do api_key=`cat /openmlconfig/api_key.txt`; echo "API key:$$api_key"; java -Xmx4G -jar /var/www/html/openml_OS/third_party/OpenML/Java/evaluate.jar -config "server = http://website/;api_key = $$api_key" -f process_dataset;done'
# OpenML Wiki, TODO: not working , CORS/cross domain issue
gollum:
build: ./gollum
ports:
- 9080:80