https://github.com/openml/openml-docker-dev
Docker compose for starting local OpenML instances
https://github.com/openml/openml-docker-dev
Last synced: about 1 year ago
JSON representation
Docker compose for starting local OpenML instances
- Host: GitHub
- URL: https://github.com/openml/openml-docker-dev
- Owner: openml
- Created: 2018-04-06T15:45:31.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-01-13T07:46:04.000Z (over 3 years ago)
- Last Synced: 2025-06-07T11:08:04.431Z (about 1 year ago)
- Language: Dockerfile
- Size: 27.6 MB
- Stars: 11
- Watchers: 10
- Forks: 4
- Open Issues: 5
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# OpenML Docker compose images/scripts for local development setup (Linux/Windows)
## **For local dev environment setup only, Insecure & Not for Production Setup**
# Issues/limitations
- current only works on port 80
- wiki powered by gollum is not working (in the new OpenML frontend this will no longer be used).
- **Only the local admin account works for now.** There is an issue with login and it will not be possible to create and login with other accounts (Work in progress)
# Requirements
- Git (https://git-scm.com/)
- Docker (https://www.docker.com/get-docker)
For Linux: docker commands assume you can use docker without sudo (your user is in docker group, ex: sudo usermod -aG docker $USER). Otherwise prefix docker commands with sudo.
# Instructions
### Step 1: Clone the repos
Note that we clone docker_changes branch of OpenML repo.
```
git clone https://github.com/openml/openml-docker-dev.git
cd openml-docker-dev
git clone -b docker_changes https://github.com/openml/OpenML.git
```

### Step 2: Configure docker and OpenML
Edit *docker-compose.yml* mainly define a secure **mysql password**:
**(leaving the default will make docker-compose fail)**

Copy *OpenML\openml_OS\config\BASE_CONFIG-BLANK.php* to *OpenML\openml_OS\config\BASE_CONFIG.php*
Check & change *BASE_CONFIG.php* as appropriate:
Define BASE_URL as localhost:

Define path and data path. In the docker compose, note that /var/www/html is mapped to ./OpenML.


Configure details for the experiment database.

Configure details for the OpenML database.

Configure elastic search.


Disable email activation in *OpenML\openml_OS\config\ion_auth.php*

### Step 3: Starting docker-compose
On the openml-docker-dev root folder, where *docker-compose.yml* is located run:
```
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.8.2
docker-compose up
```
The elasticsearch pull is needed only for the very first time. Images can take few minutes to build for the first time,
after start wait a few seconds for services to be ready, ex: MySQL ready for connections)


### Step 4 Check phpmyadmin at http://localhost:8080/



### Step 5: Init dbs, admin user & elastic search indexes
Execute in a new window/shell:
```
docker exec -it openml-docker-dev_website_1 php index.php cron init_local_env
```
(take note the printed admin username and password, and wait to finish, can take 1-2mins)

Change data folder owner to www-data apache user in container, allow for logs/uploads in data folder, resets log file permissions created in previous init step
Execute in a new window/shell:
```
docker exec -it openml-docker-dev_website_1 chown -R www-data:www-data /var/www/html/data
```
### Step 6: Final tests
Login on http://localhost with admin and saved password



### Check dataset
We have 1 sample dataset

### Test upload dataset & wait for feature calculation. The status will change to active in a few minutes.



### Note: Files in OpenML cloned repo are mounted inside the website container, any change will reflect immediately on the site