# 上线检查清单 ## 服务器 - Docker 已安装。 - Docker Compose 已安装。 - 域名已解析到服务器。 - HTTPS 证书已准备。 - `/data/certificate-system` 已创建并挂载到数据盘。 ## 环境变量 - `SECRET_KEY` 已改成强随机值。 - `CERTIFICATE_NO_SECRET` 已改成强随机值。 - `PUBLIC_BASE_URL` 已改成正式域名。 - `DATABASE_URL` 指向生产 MySQL。 - `DATA_ROOT` 指向生产数据目录。 - `CORS_ORIGINS` 已改成正式域名。 - 如果正式启用短信验证码,`SMS_MODE=aliyun`,且阿里云短信签名、模板 Code、AccessKey 已配置。 ## 数据库 - 已执行迁移: ```bash docker compose exec backend alembic upgrade head ``` - 已初始化管理员: ```bash docker compose exec backend python -m app.cli init-db --admin-username admin --admin-password "强密码" ``` ## 业务配置 - 项目代码已维护,例如 `DBY`、`QSX`。 - 发证单位名称已确认。 - 系统设置里的 `PDF 生成并发限制` 已确认,2 核 4G 建议保持默认 `2`。 - Excel 导入模板已下载并试填。 - 占位证书模板已确认可临时使用。 ## 验收动作 - 后台可登录。 - 可新增学员。 - 可新增证书并生成编号。 - 可上传 Excel 并确认导入。 - 可导出证书和直达链接。 - 公开查询支持两种方式: - 证书编号查询:必须输入姓名和图形验证码。 - 短信验证码查询:必须输入手机号和短信验证码。 - 阿里云短信测试手机号可收到验证码,后端日志没有 `未安装依赖` 或 `发送失败`。 - 作废证书不能下载正常 PDF。 - 直达链接重置后旧链接失效。 - PDF 可生成,二维码可打开核验页。 ## 备份 - 后台「备份管理」可以查看本地备份并手动创建备份。 - 已完成一次手动备份和一次只读检查,确认 `/data/certificate-system/db-backups` 有备份文件。 - 如果需要每日自动备份,服务器定时策略已配置。 - `uploads`、`error-reports`、`exports` 已纳入备份策略。 - `pdf-cache` 不纳入长期备份。