Installation and deployment¶
ECINGInious is intended to run on Linux (kernel 3.10+).
Dependencies setup¶
ECINGInious needs:
- Python (with pip) 3.5+
- Docker 1.12+
- MongoDB
- Libtidy
- LibZMQ
Ubuntu 16.04+¶
First, we need to install docker:
sudo apt-get install -y docker docker-compose
Add the current user to the docker group in order to use ECINGInious as non-root user:
groupadd docker
gpasswd -a $USER docker
newgrp docker
Install required dependencies:
sudo apt-get install git mongodb gcc tidy python3 python3-pip python3-dev libzmq-dev
You can now start and enable the mongod and docker services:
# systemctl start mongodb
# systemctl enable mongodb
# systemctl start docker
# systemctl enable docker
Installing ECINGInious¶
The recommended setup is to install ECINGInious via pip and the master branch of the ECINGInious git repository.
pip3 install --upgrade git+https://github.com/LIS-ECI/INGInious.git
Configuring ECINGInious¶
First, you need to install the ECINGInious frontend (read the Note section below):
inginious-install webapp-contest
This will help you create the configuration file in the current directory.
Important notes while running previous command:
- Don’t use minified javascript by the moment.
- Install the python3pylint container.
- You probably need to add “/home/<user>/.local/bin/” to your PATH environment.
Then, go to your storage folder (previously defined in the configuration wizard) and copy the provided run folder (resources folder) into it.
Enabling plugins (optional)¶
Plagiarism check plugin¶
Edit your configuration file and add the following lines in the plugins section:
- name: Plagiarism Checker
plugin_module: inginious.frontend.webapp_contest.plugins.plagiarism
Then, go to your storage folder (previously defined in the configuration wizard) and copy the provided plagiarism folder (resources folder) into it.
ECI authentication method plugin¶
Edit your configuration file and add the following lines in the plugins section:
- name: DB Auth
plugin_module: inginious.frontend.webapp_contest.plugins.auth.eci_auth
Running ECINGInious¶
To run the frontend, please use:
inginious-webapp-contest --conf CONF_FILE_PATH --host HOST --port PORT
This will open a small Python web server and display the url on which it is bind in the console.