Skip to content

sylxjtu/domjudge_tutorial

Repository files navigation

DOMJudge 安装指南 (以Ubuntu 17.10为例,其他系统可能不同)

安装docker

运行命令

sudo apt-get install docker.io docker-compose

开启cgroups

打开/etc/default/grub,在GRUB_CMDLINE_LINUX=后加上以下参数

cgroup_enable=memory swapaccount=1

运行命令

sudo update-grub
sudo update-grub2

重启,之后运行以下命令

sudo docker info

确认没有关于swap的WARNING

修改docker-compose.yml文件

  1. mariadb.volumes: 数据持久化的目录,修改成合适目录名,之后会创建这个目录

  2. MYSQL_ROOT_PASSWORD, MYSQL_PASSWORD, MYSQL_DATABASE: 可以根据需要修改,注意保持一致

  3. domserver.ports: 网页端端口,可以根据需要修改

  4. judgehost_[0-9]: 评测进程的数量,每个评测进程会绑定到CPU{DAEMON_ID},因此必须确保每个评测进程的DAEMON_ID不同

创建mariadb.volumes对应的目录

启动

sudo docker-compose up -d

如果没有修改端口的话,访问http://localhost:12345进入网页端,用户名和密码均为admin

添加评测机

在网页端添加评测机用户并设置密码,与docker-compose.yml一致

修改管理员密码

测试评测

提交sample中的测试代码,测试评测结果是否符合预期

上传题目

可以参考sample_problem_package中的题目格式如crack/crack.zipmoore/moore.zip(spj),其中一些题目涉及到数据格式转换(以qduoj开头的文件),可以不用管

添加用户

可以参考utility中的代码,注意将session id填入utility/session.txt

About

DOMJudge 安装指南

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published