A running installation needs Nginx (also Apache or other webservers which works as a proxy are possible), Postgresql and Redis. Other databases have not been tested, so their usage is on your own risk. Furthermore, a Python and Java runtime are required for automatic and programming task evaluation. Also, the sandbox [isolate](https://github.com/ioi/isolate) is required for executing untrusted code. For installation, follow the corresponding instruction guides.
## Prerequirements
A running installation needs Python3, Nginx (also Apache or other webservers which works as a proxy are possible), Postgresql and Redis. Other databases have not been tested, so their usage is on your own risk. Furthermore, a Python and Java runtime are required for automatic and programming task evaluation. Also, the sandbox [isolate](https://github.com/ioi/isolate) is required for executing untrusted code. Due isolate you can only use a modern Linux distributed (tested on Debian, Ubuntu and Manjaro) as operating system.
### Setting up flask
## Setting up [isolate](https://github.com/ioi/isolate)
For isolate, you can follow the instruction guides on the website. In short, you have to execute the following commands in your bash:
```bash
git clone https://github.com/ioi/isolate.git
cd isolate
make isolate
sudo make install
```
The building needs a modern version `gcc`. Instead of `make isolate` you can also consider to user `make`, which also creates a documentation using `a2x`(this software has then to be installed on your operating system, too).
### Setting up proxy
## Setting up flask
After downloading the application, you should create a virtual environment and install the packets needed for ChiefExam: