本文档详细介绍了回归终端的部署步骤,涵盖前端和后端组件以及所需的外部服务。有关开发环境设置(包括热重载和调试)的信息,请参阅 代码文档。有关安装后的配置详情与使用方法,请参阅 日常维护手册 和 用户手册。
基础设施一览
回归终端依赖以下组件 / 服务运行。每种部署方案都会说明这些组件的部署方式,以及回归终端侧需要填写的配置项。已有同类服务或云厂商托管服务时,回归终端通常可以直接复用。
| 服务 | 用途 | 配置节 |
|---|---|---|
| PostgreSQL (16+) | 存储平台数据的主数据库 | [database] |
| Valkey (7+) | 会话缓存、令牌存储、速率限制 | [cache] |
| NATS JetStream (2.8+) | 后台工作进程的消息队列 | [queue] |
| Kubernetes (1.24+) (可选) | 题目容器编排 | [cluster] |
| VictoriaLogs (1.33+) (可选) | 集中式日志存储 | [logging].victoria |
其中 Kubernetes 集群和 VictoriaLogs 都是可选的,Kubernetes 用来提供动态题目容器环境,VictoriaLogs 提供日志记录与行为追踪。
通常情况下,建议部署并配置所有服务组件,这样才能获得完整的服务支持。
- 在服务器配置不佳并且题目不涉及 Web 审计与渗透、二进制漏洞审计 或者 AI、合约 等等刚需线上环境的时候,可以省略掉 Kubernetes;
- 缺少自有日志管理与分析系统时,通常不建议省略 VictoriaLogs,回归终端通过它可以帮助你追踪异常请求,完整记录选手在比赛中的所有行为,并且为可能发生的平台攻击事件做出预警与证据存留。
部署路径
开始部署前,建议先阅读 环境准备,确认系统环境、服务器架构、资源估算方式和 Kubernetes 基础配置。
完成环境准备后,可以根据实际架构选择正式部署模式:
- 使用 ret2boot:在一台 Linux 服务器上通过交互式安装器完成系统预检、Kubernetes、Helm、网关、平台和基础组件部署。
- 集群内统一部署:平台服务、基础组件和题目容器都部署在 Kubernetes 中。
- 裸机 / systemd 部署:平台服务和基础组件在服务器上直接运行,Kubernetes 可作为外部题目集群接入。
- Docker Compose 部署:平台服务和基础组件用 Compose 管理,适合单独平台节点或小规模部署。
