-
First you need to setup docker on your ICPC main server. You might need to manually download docker and docker-compose packages and scp them to the server due to network constraints.
-
Copy domserver directory to the server.
-
Replace
<rootpw>and<djpw>fields inside thedocker-compose.yamlwith secure values. -
cdinside the directory ofdocker-compose.yamland run the following command:docker compose up -d -
Run
docker psand verify if the domserver and mysql container are up and runnning (You can usedocker logs domserver/docker logs mariadbcommand to inspect logs and check if there is any issues). The domserver has a health check component which shows if it's healthy (You might need to wait about a minute for it to become healthy). -
Run
docker logs domserverso that you can retrieveInitial admin passwordto login as admin andInitial judgehost passwordin order to config judgehosts.
NOTE: It's recommended to test the latest version of docker images and replace
latesttag with the actual tag to prevent further issues during the contest.
NOTE: You can also retrieve admin password by running
docker exec -it domserver cat /opt/domjudge/domserver/etc/initial_admin_password.secret.
NOTE: You can also retrieve judgehost password by running
docker exec -it domserver cat /opt/domjudge/domserver/etc/restapi.secret.
-
As well as domserver, first you need to setup docker on your judgehost servers. You might need to manually download docker and docker-compose packages and scp them to the servers due to network constraints.
-
ssh judge-Xand copy judgehost directory to the server (X is the id of the judgehost server). -
Replace
Xand the<initial-judgehost-password>in thedocker-compose.yamlfile (you must have the initial judgehost password from the domserver). -
cdinside the directory ofdocker-compose.yamland run the following command:docker compose up -d -
Run
docker psand verify if the judgehost containers are up and runnning (You can usedocker logs judgehost-X-1/docker logs judgehost-X-2command to inspect logs and check if there is any issues). -
Using
Initial admin passwordlogin to the admin panel of domjudge and verify if the judgehosts are connected to the domserver correctly (the naming convention of the judgehosts will help you to find the judgehost server in case of any issues).
NOTE1: It's recommended to test the latest version of docker images and replace
latesttag with the actual tag to prevent further issues during the contest.
NOTE2: It's recommended to start 2 judgehosts on each server as the
docker-composedeclares.