HGOJ安装和使用说明
湖南工学院在线判题系统,使用Golang进行了重构,现在正式开放出来给湖工ACM竞赛队的同学使用。
环境准备
HGOJ使用Docker进行部署,所以只需要系统安装有Docker和Docker-Compose即可
对于mac环境只要下载Docker并安装即可(比较简单)
Linux环境的安装如下(以Ubuntu为例):
- 安装依赖
1 | # sudo apt-get update && sudo apt-get install -y vim curl git |
- 安装Docker&&Docker-Compose
1 | # sudo curl -sSL https://get.daocloud.io/docker | sh |
1 | # sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose |
Win环境有兴趣的可以试试
安装系统
- 找到一个磁盘比较充足的盘,运行如下命令
1 | # git clone -b master https://github.com/yinrenxin/HGOJ-Deploy.git && cd HGOJ-Deploy |
- 启动服务
1 | # sudo docker-compose up -d |
系统运行后会发现运行不起来,是因为还没有数据库,需要手动建立数据库(以后再改),打开8080端口,进入到phpmyadmin,然后建立hgoj命名的数据库,之后再重新启动hgoj容器即可。
经过以上步骤,HGOJ就安装好了。默认的首页为index,第一个注册用户为管理员。之后就能愉快的使用了。
如果是正式部署使用的话推荐把phpmyadmin容器给停掉,需要操作数据的时候再临时启动,并且更改.env里的mysql密码,然后更改hgoj连接数据库的密码。
如果上面的步骤出了问题可以找我来解决(咕咕咕)
HGOJ系统的使用
测试数据
主要说明下测试数据的规范,测试数据需要本地做好后打包成zip压缩包,可以搞多组测试数据,输入文件以.in为结尾,输出文件以.out结尾,把测试数据放到一起进行压缩(切记不要把数据放到一个目录下,然后对这个目录进行压缩)。压缩好后的文件命名必须为data.zip。创建题目
创建题目的时候测试数据使用这个压缩包上传。因为使用了markdown,所以题目描述、输入、输出描述要根据markdown语法来进行填写。创建比赛
比赛创建,根据需要添加比赛开始和结束时间,比赛描述同样需要使用markdown语法。添加题目这里,用逗号分隔。权限和用户这里功能还未开发完毕不用管,默认都是公开的。
联系
- Github:HGOJ
- HGOJ开发QQ群:245461736
- 湖工ACM交流群:662688178
- 湖工ACM对外小分队:663690027
其他
因为时间仓促,很多功能还没有实现。因为要兼容以前的OJ系统的数据(以前的OJ系统使用了hustoj),所以功能上先保证以前有的,HGOJ上也有,判题使用了hustoj的判题,未来的终极目标是使用go重写判题机。如果有小伙伴对go和oj有兴趣,欢迎来一起维护。为啥使用go呢,因为再用PHP写就没意思了(逃) : )