Ubuntu16.04搭建QingdaoU(docker一键式部署)
QDUOJ已经开源到2.0版本了,下面的教程不再适用,仅做纪念吧!
这几天装什么Linux、开源OJ上瘾了。。。竟然没去刷题。。。嗯,做好记录就写题啦!
先上原始网站的图:
风格不错,很符合我的口味。
虽然它的github(https://github.com/QingdaoU/OnlineJudgeDeploy)说的不错,但是我觉得自己的步骤才是最好的。。
一、安装基础环境
1.安装工具(一条命令要装几个软件,大家记得每一个安装不报错才开始下一步)
sudo apt-get update
sudo apt-get install -y vim python-pip curl git
2.安装 docker(这个过程还是蛮久的,大家要耐心等待)
curl -sSL https://get.daocloud.io/docker | sh
3.安装 docker-compose
LC_CTYPE= pip install docker-compose
以上的安装如果有的命令不起作用,可以自己找新的安装方式。
二、安装文件
git clone https://github.com/QingdaoU/OnlineJudgeDeploy.git
cd OnlineJudgeDeploy
然后编辑 docker-compose.yml 文件,第28行为自定义的密码,比如rpc_token=123456。
三、启动服务
docker-compose up -d(如果不是root用户,请使用sudo -E docker-compose up -d,否则不会出传递当前的环境变量)
第二次启动也是使用该命令,但我觉得部署上服务器的话就一次启动长期使用了。
如果是本地启动OJ(用到localhost或者127.0.0.1),要先到文件 docker-compose.yml修改ports的端口名称。
四、网站管理
超级管理员用户名是root,默认密码是password@root,如果真正部署记得修改。
登录127.0.0.1/admin,添加一个判题服务器,地址为judger,端口为8080,密码是上面自定义的rpc_token。
修改custom_settings.py可以自定义站点信息。
由于该项目是封装在docker里的,所以有什么问题可以多看docker去解决。还有关于什么二次开发的,后面再写吧!