This guide explains how to set up DOMjudge using Docker and Docker Compose. You will run the domserver first, retrieve the necessary passwords, configure the judgehost, and then access the system from your browser.
Make sure the following are installed:
- Docker
- Docker Compose
Run the DOMserver using:
docker compose -f domserver.yml up -dThis starts the DOMjudge server in the background.
After the server starts, fetch the initial passwords:
docker exec -it domserver cat /opt/domjudge/domserver/etc/initial_admin_password.secretdocker exec -it domserver cat /opt/domjudge/domserver/etc/restapi.secret- The first password is the admin login password.
- The second password is the judgehost authentication token.
Copy the judgehost password from above and set it in your judgehost.yml file:
- JUDGEDAEMON_PASSWORD="<paste the password here>"Run:
docker compose -f judgehost.yml up -dThis launches the judgehost(s) that will evaluate submissions.
Open your browser and go to:
http://localhost:80
Log in using:
- Username:
admin - Password: (the admin password retrieved earlier)
- You may see some warnings during startup — these are normal and can be safely ignored unless they indicate a critical error.
- Make sure both the domserver and judgehost containers stay running.