Skip to content

aut-icpc/containerized-DOMjudge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Domjudge setup for Amirkabir ICPC

Setup domserver (control plane)

  1. 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.

  2. Copy domserver directory to the server.

  3. Replace <rootpw> and <djpw> fields inside the docker-compose.yaml with secure values.

  4. cd inside the directory of docker-compose.yaml and run the following command: docker compose up -d

  5. Run docker ps and verify if the domserver and mysql container are up and runnning (You can use docker 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).

  6. Run docker logs domserver so that you can retrieve Initial admin password to login as admin and Initial 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.

Setup judgehosts (data plane)

  1. 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.

  2. ssh judge-X and copy judgehost directory to the server (X is the id of the judgehost server).

  3. Replace X and the <initial-judgehost-password> in the docker-compose.yaml file (you must have the initial judgehost password from the domserver).

  4. cd inside the directory of docker-compose.yaml and run the following command: docker compose up -d

  5. Run docker ps and verify if the judgehost containers are up and runnning (You can use docker logs judgehost-X-1/docker logs judgehost-X-2 command to inspect logs and check if there is any issues).

  6. 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published