Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

README.md

部署 Hydro

这里提供了几套方案帮助您建立自己的站点,请选择适合您的方案并继续。
搭建过程中如果遇到问题欢迎 联系我们 提问。

服务器选择

不同服务商提供的 CPU 主频不同,下方数据仅供参考。
最低服务器配置: CPU: 1核 内存: 2G。(约可允许 100 人使用)
请尽量不要使用突发性能实例或共享型实例,这可能会导致评测时间计量不准确

CentOS 8 已于 2021-12-31 停止支持,后续不会为安全漏洞发布补丁,建议重装为其他操作系统。

:::tip 兼容大部分 Linux 发行版,推荐使用 Debian 12 / Debian 11 / Ubuntu 22.04 (教程多,成功率高,上手简单),不支持 CentOS 及其各种变种:

  • CentOS
  • Alibaba Cloud Linux
  • TencentOS
  • OpenCloudOS

如果你的机器内存较小(<=2GiB),请避免使用 Ubuntu 22.04,它会消耗较多的内存。建议使用 Debian 12 / Debian 11。
如果你有 Linux 运维经验,Hydro 同样支持在 Alpine Linux 上运行,Alpine Linux 系统启动后仅占用 ~100M 内存,是在低配置服务器上运行的更优方案。
:::

:::warning 虚拟机用户请注意:

  • Hydro 使用的数据库依赖于 CPU 的 avx 指令集以提高运行性能,大部分虚拟机软件默认没有启用 avx 指令集,请参照您使用的虚拟机软件说明。
  • 虚拟机由于非独占 CPU,会导致评测时间计量精度降低。
  • 由于虚拟机本身的数据保存机制,突然断电很容易导致数据库损坏无法读取,请务必定期备份数据库,有条件请购买 UPS 保证供电稳定。

Docker 用户请注意:

  • 使用安装脚本需要设置 USER 环境变量为 root
  • 需要使用 --privileged 参数启动容器,否则评测机无法运行。
  • 开发组不对 docker 部署提供技术支持。

第三方面板(如宝塔)用户请注意:

  • 部分面板出现多次高危漏洞,为防止数据丢失,请不要在生产环境中使用!
  • 开发组不对第三方面板部署提供技术支持。 :::

部署

:::tip Hydro 需要使用以下端口: 80, 443, 2019, 8888, 5050, 27017,请确保这些端口空闲。
安装和安装后的所有操作均需要在 root 权限下进行!(sudo su 输入用户的密码, 或 su - 输入 root 账户的密码)
:::

运行下面的脚本,等待几分钟即可(建议复制防止敲错):

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

:::tip 如果有特殊需求,安装脚本支持一些可选的高级选项,以此方式调用: . <(curl https://hydro.ac/setup.sh) --foo --bar

  • --no-caddy 不配置安装反向代理,只监听8888端口
  • --judge 仅作为独立评测机安装 :::

阿里云/腾讯云/华为云等等用户安装后如果不能访问 请百度搜索 xx云 放行80端口
脚本默认使用的为清华大学镜像。
安装完成后,从 http://服务器ip/ 访问网页端,注册一个账号,之后在终端中使用

hydrooj cli user setSuperAdmin 2

将首个注册用户设置为超级管理员。之后刷新页面,您应当能在上方导航栏看到控制面板入口。
进入控制面板,右侧系统设置,验证管理员密码后按需修改配置,注意 Server BaseURL 一项需要填写访问网站用的完整的 URL,以 / 结尾。(重要,务必正确填写,样例:https://hydro.ac/

系统安装后需要题库,可前往 https://hydro.ac/d/tk/p 免费专区进行下载,支持批量导入。 至此,基础功能安装已全部完成,另,如果你的服务部署在内网,且希望外网的用户可以访问,可以百度搜索 “端口映射” 相关教程。