Description
Context: After some tests & small contests, we are starting to use Domjudge a lot more. We are planning to host the AdaByron (an Spanish competitive programming contest http://ada-byron.es/) this year, so the objective was to simplify the deployment and maintenance of DomJudge as much as possible, so you may create your own instance without a deep knowledge of Domjudge or Docker internals.
All the customizations for our use case can be seen in the following repo: https://github.com/rmartinsanta/domjudge-automation.
Steps to test:
- Install Ubuntu Server (tested with 18.04.3) in a VM or equivalent.
- Clone the repo (
git clone https://github.com/rmartinsanta/domjudge-automation
) - Install and reboot (
./install-domjudge.sh
)
The installation script will do all the tedious tasks, and give further instructions when finished.
There is a monitoring stack ready to use (cd mon-template && docker-compose up -d
), that will expose Grafana on port 3000.
There is one thing I do not like but I have not found an alternative way to do it:
I am exposing the docker socket to the judgehost container (needed to dinamically assign a CPU ID), but as the container is already privileged, I do not think it is dangerous from a security point of view, correct me if I am wrong.
I would like to known your opinion about it, which parts would you like to add to this repo (so I can open a PR with them), what could be improved, etc.