Files
xiaobaifupan/next/docs/final/release-candidate.md
T

3.2 KiB

重建版发布候选清单

发布日期:2026-07-30

本清单把首次Docker/Portainer预检固定为可重复构建的候选版本。它不包含密码、令牌、 Fernet密钥、数据库或私有Skill,也不授权停止旧系统或切换正式端口。

不可变版本

项目 固定值
Git标签 xiaobai-next-rc-20260730-1
Portainer引用 refs/tags/xiaobai-next-rc-20260730-1
镜像标签 xiaobai-review-next:rc-20260730-1
Compose路径 next/compose.preflight.yaml
预检宿主端口 8876
容器端口 8765
正式旧端口 8765,预检期间不得占用或修改

标签创建后必须在Gitea中记录其完整提交号。Portainer关闭自动更新;重新部署前先确认标签仍指向 同一提交,镜像不得使用latest或只有preflight的浮动标签。

当前真实旧库基线

此基线只对应2026-07-30本地冻结副本,用于首次预检核对迁移是否完整,不是未来正式切换时的 永久固定计数。正式切换必须对停止写入后的最新一致旧库重新计算SHA-256并归档新报告。

项目 预期值
旧库SHA-256 546c5af1a3010bbf0cf37e5d8b1a440fe6dfbfe80b471cddf430d4363a7b1a4a
SQLite完整性 ok
外键异常 0
未映射旧表 0
未映射快照类型 0
用户 3
会员 3
自选 6
复盘笔记 3
问师消息 28
问天记录 31
选股归档 107
策略跟踪 16
市场摘要 22
市场洞察归档 47
模型 3
系统凭据 2

首次迁移后运行中的数据库可能因后台任务、会话和新快照产生合法增量,因此后续重启验收不能要求 数据库文件哈希保持不变。应核对迁移报告、记录下限、用户归属、SQLite完整性和真实页面行为。

Portainer环境

必须人工填写:APP_ENCRYPTION_KEY、独立绝对路径APP_STORAGE_PATH。固定填写:

APP_IMAGE=xiaobai-review-next:rc-20260730-1
APP_PUBLISH_PORT=8876
APP_LOG_LEVEL=INFO
APP_TIMEZONE=Asia/Shanghai

APP_STORAGE_PATH不得指向旧容器数据目录;目录内旧库副本固定命名为legacy-review.db。 密钥、数据库和私有Skill只进入NAS受控目录及加密备份,不进入Git或镜像层。

阻断判定

只有以下事实全部成立,发布候选才允许进入正式切换申请:

  1. migration退出码为0,报告完整性、外键、未映射项及业务计数已核对。
  2. web使用非root用户、只读根文件系统、清空Capabilities,健康状态稳定。
  3. /app/data是独立可写数据卷;重启后账号、私有记录、系统配置和共享归档不丢失。
  4. 真实管理员会员、会员非管理员和普通用户完成权限及私有数据抽验。
  5. 日间、夜间、1080P、4K和390px抽验完成;4K信息密度由用户确认。
  6. 备份包含数据库、环境密钥和私有Skill,并在另一个独立目录成功恢复。
  7. 固定镜像标签可在不重新构建的情况下完成一次回退启动。

任一项失败时保留日志和失败数据卷,不在失败目标库上手工修补;从最新一致旧库副本重新迁移。