Public | Automated Build

Last pushed: 17 hours ago
Short Description
Judgehost Docker image for DOMjudge
Full Description

Docker for DOMjudge

These Dockerfiles allow you to run DOMjudge inside a
Docker container.


Use Docker Compose to build the images:

$ docker-compose -f docker-compose-domserver.yml up --build
$ docker-compose -f docker-compose-judgehost.yml up --build

You may want to edit domserver/ to enable TLS or tweak the PHP
upload restrictions.

The domserver compose file comes bundled with a MariaDB container. If you want
to use this, you only need to specify a password for the mysql root user and
for the domjudge user by setting DOMJUDGE_DB_ROOT_PASSWORD and
MYSQL_ROOT_PASSWORD to the root password, and DOMJUDGE_DB_PASSWORD to the
domjudge user password. You can also use a standalone MySQL server. In that
case, you need to specify the DOMJUDGE_DB_HOST variable. It is also possible
to specify a database name and domjudge user name (both default to domjudge)

You can also specify a timezone by setting the TIMEZONE variable.

As for the judgehost, you need to run the container in privileged mode to use
cgroups. You also need to specify the domserver URL and judgehost user and
password by setting DOMSERVER_HOST, DOMSERVER_USER and
DOMSERVER_PASSWORD. You should also specify a hostname for this container to
identify it in the domserver. If you want to support more programming
languages, you need to edit judgehost/Dockerfile to download the packages. You
also need to specify the following kernel parameters for cgroups:
cgroup_enable=memory swapaccount=1.


You can customize the DOMjudge source by adding patches to the patches

Docker Pull Command
Source Repository

Comments (0)