-
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.yaml
with secure values. -
cd
inside the directory ofdocker-compose.yaml
and run the following command:docker compose up -d
-
Run
docker ps
and verify if the domserver and mysql container are up and runnning (You can usedocker logs domserver
/docker logs mariadb
command 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 domserver
so that you can retrieveInitial admin password
to login as admin andInitial judgehost password
in order to config judgehosts.
NOTE: It's recommended to test the latest version of docker images and replace
latest
tag 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-X
and copy judgehost directory to the server (X is the id of the judgehost server). -
Replace
X
and the<initial-judgehost-password>
in thedocker-compose.yaml
file (you must have the initial judgehost password from the domserver). -
cd
inside the directory ofdocker-compose.yaml
and run the following command:docker compose up -d
-
Run
docker ps
and verify if the judgehost containers are up and runnning (You can usedocker logs judgehost-X-1
/docker logs judgehost-X-2
command to inspect logs and check if there is any issues). -
Using
Initial admin password
login 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
latest
tag 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-compose
declares.