怎样部署Hydro系统

2022年6月11日 | 分类: 【技术】

【介绍】

官网:https://hydro.ac/

【安装】

推荐服务器配置:CPU: 1核 内存: 2G 硬盘: 30G。(约可允许 150 人同时使用)
推荐服务器系统:纯净的 Ubuntu20.04 系统
系统兼容性说明:自动安装脚本将会在您的机器上安装 MongoDB (opens new window)、 MinIO (opens new window)、 NodeJS (opens new window)。
确保端口为空闲:8888, 9000, 5050, 27017

文档:https://hydro.js.org/docs/install/

自动安装脚本(国内服务器使用 tsinghua 镜像):

LANG=zh bash <(curl https://hydro.ac/install.sh)

自动安装脚本(海外服务器使用 official 镜像安装):

LANG=zh MIRROR=official bash <(curl https://hydro.ac/install.sh)

数据库备份和恢复:

为了保证数据安全,请定期备份。

若您使用自动脚本安装,可使用 hydrooj backup 快捷备份数据。

可使用 MongoDB 自带的 mongodump

(opens new window) 进行数据库备份。并将 /data/file 文件夹备份即可。

对于数据库,请请不要在数据库运行时直接拷贝数据库文件夹。请每次备份后检查生成的备份文件的大小和内容,确保备份成功。
请不要把备份数据和 Hydro 系统放在同一台机器上,这样数据丢失的风险仍然较高。
#
恢复备份

若您使用自动脚本安装,可使用 hydrooj restore <备份文件路径> 恢复之前备份的数据。

使用 MongoDB 自带的 mongorestore
(opens new window) 导入备份的数据库文件,并还原 /data/file 目录文件。
如果只是想不同机器之间迁移部署,只需要在停止 Hydro 和 MongoDB MinIO 服务后将相关文件夹(通常为 /data/db 与 /data/file 与 /root/.hydro/config.json )复制即可。

【插件】

参考:https://docs.lgapi.cn/open/project/hydro

Hydro 插件

HydroOJ 作为首批接入洛谷开放平台的在线评测系统,实现了完整的远程评测体验,您可以在 Hydro 中导入洛谷全部题目,定期更新,复制题目,编辑题面,发起评测和接收所有的子评测详细结果。

如果您还没有安装 Hydro,可以使用下方命令一键安装,详情阅读官方指南:https://docs.hydro.ac/docs/install/

LANG=zh . <(curl https://hydro.ac/setup.sh)

使 Hydro 接入洛谷开放平台,您需要进行以下操作:

使用 hydrooj install @hydrooj/vjudge 安装 vjudge 插件(如果之前已安装请跳过该步骤)
使用 hydrooj install https://cdn.luogu.com.cn/lgapi/hydro/hydroplugin-luogu-latest.tgz 安装题库导入工具。
使用 hydrooj cli luogu importProblem 导入题库。
使用 hydrooj cli luogu addAccount 设置账号。
重启 Hydro 进程(pm2 restart hydrooj)。
大功告成!

如果需要帮助部署/迁移或有二次开发的需求,您可联系 Hydro 开发者寻求帮助。

Hydro 仓库地址:https://github.com/hydro-dev/hydro
Hydro 文档:https://hydro.js.org (镜像:https://docs.hydro.ac)
洛谷 vjudge 插件仓库地址:https://github.com/hydro-dev/luogu