前言
实验室招新使用,想搭建一个属于实验室专属的OJ界面,方便进行管理以及相关统计。
使用青岛大学的OJ系统进行搭建,相关github界面
请注意:此OJ并不支持arm架构,因此需要在arm架构机器上使用的需要自行去寻找其他的OJ界面
相关资料引用
配置过程
先配置基本环境
1.sudo apt-get update && sudo apt-get install -y vim python3-pip curl git
2.pip3 install --upgrade pip
3.pip3 install docker-compose
- 第3步的安装与github的官方教程不同,由于该项目需要python3.5以上的支持,而pip仅支持python2.7(至少在我的配置下是这样),因此安装使用pip3来进行安装
- 在fish下,
&&命令无法被识别,因此需要提前切换到bash来进行安装
配置安装docker环境
使用如下一键安装命令来进行docker的安装
- 在国内环境下:
sudo curl -sSL https://get.daocloud.io/docker | sh
- 在国外环境下:
sudo curl -sSL get.docker.com | sh
如需了解更多,请访问Docker官网
开始安装OJ系统
- 选择一个具有合适的空间来进行安装(大概700-800mb)
输入如下命令:
git clone -b 2.0 https://github.com/QingdaoU/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy
- 输入如下命令去进行自动配置
docker-compose up -d
配置会根据网速来进行协调,大概会在15-30min,之后会自动配置成功
- 请不要占用服务器或者主机的80端口以及443端口,网站会直接占用,否则会启动失败
- 在浏览器中输入相关ip便可以直接访问成功
如何更改OJ的端口号
在进行第二步之前,进入到OJ的文件夹中,编辑docker-compose.yml尾部的ports的选项,例如将端口改为90

后期的OJ配置
因为一上来的OJ环境并不是那么可以让人使用的了,因此需要额外进行一些环境上的配置
基础(这是后期的基础,因此都需要进行配置)
请注意:安装时也需要配置nodejs的 v8.12.0的安装包,如果没有请自行寻找方式进行安装
- 由于此OJ系统前端都是自动渲染生成的,因此我们需要去Github上下载相关的前端源码
git clone https://github.com/QingdaoU/OnlineJudgeFE.git
- 安装修改的相关依赖
然后我们进入到clone的文件夹中,执行npm install
- 之后按照官方的文档进行编辑
npm run build:dll
- 启动本地测试
npm run dev
- 后续修改完成之后进行打包
npm run build
- 让OJ加载修改后的前端文件
首先我们需要进入到OJ的那个文件夹下,编辑其docker-compose.yml
然后在columes选项中新增加一行,路径请根据实际进行自主修改

- 之后运行自动配置命令
docker-compose up -d
- 可能在运行之后,会发现界面打不开的现象,那么便重新启动一下OJ系统所对应的docker服务便好
将语言更换为中文
进入前端代码文件夹中,从src/i18n/index.js中修改locale的值为zh-CN,之后直接按照上面的内容打包即可