Skip to content

Docker Image

Andreas Morel-Forster edited this page Aug 27, 2020 · 1 revision

Setup

We need a docker for the mysql database and another one for ilias with the plugin. The evaluation server we run on the host system directly. The steps are:

1. Start the mysql database:

#!bash
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=example -e MYSQL_DATABASE=ilias mysql:5.7

2. Start the ilias container and map jepi plugin-code:

#!bash
docker run --name jepi-stu -p 8080:80 --link mysql:my-db-for-ilias -e ILIAS_DB_USER=root -e ILIAS_DB_HOST=my-db-for-ilias -e ILIAS_DB_PASSWORD=example -v /YOUR/PATH/TO/jepi/assProgQuestion:/var/www/html/Customizing/global/plugins/Modules/TestQuestionPool/Questions/assProgQuestion sturai/ilias-dev:5.3-apache-php7

Note 1: Under windows we could not get the xdebug.connect_back setting to work due to the intermediate layer of the hyper-V vm. Hence we adapted the Dockerfile of Studer-Raimann. We set mannually the xdebug.remote_host ip address (take your local docker network adapters ip -> see ipconfig) and turn off the xdebug.connect_back. Note 2: Under windows you need to turn on the docker settings for sharing your drive where the plugin is stored.

3. Build the evaluation server. See jepi/gradingServer/build.sh for more details.

4. Start the evaluation server. See jepi/gradingServer/run.sh for more details. Note: You have to specify the ip address of your docker container running ilias.

5. Start the webpage localhost:8080 and login to ilias.

6. Go to the menu Administration / Plugins .

7. Install the plugin assProgQuestion using the button "Actions". Green feedback with the different update steps should appear.

8. Activate plugin.

9. Configure the plugin. Set the IP address (e.g. host systems IP on the docker interface) and the port (default=1234) of the running evaluation server.

Now you should be able to create tests using the Java Evaluation Plugin for Ilias (JEPI).

Some additional information about docker and its usage

  1. Clean up docker data: link