Skip to content

功能边界

在线更新页将 Web 界面资源与后端服务分开管理。两者都有独立的版本、校验、切换和回滚状态。

  • 仅管理员可用:普通用户不会看到入口,也不能调用安装或回滚操作。
  • 仅 Web 端可用:iOS、Android 和车机客户端不提供此入口。
  • Web 界面更新:适用于国内版飞牛 FPK 与已启用该能力的 Docker 部署。
  • 后端服务更新:仅适用于国内版飞牛 FPK,并且安装、回滚只允许从飞牛统一网关入口执行。
  • 不替代完整升级:不会更新 supervisor、数据库 schema、FFmpeg、FPK、Docker 镜像或移动端 App。需要数据库迁移或 supervisor 升级时仍需安装完整 FPK。

入口

管理员登录 Web 端后,进入 个人中心 -> 在线更新

页面分为 前端后端服务 两个标签。未启用对应能力时会显示提示。国际版 FPK 与本地开发环境不提供在线安装能力。

后端服务状态可从普通端口查看,但检查、安装和回滚必须通过飞牛统一网关,并由飞牛管理员身份执行。

前端更新

页面会显示:

  • 内置版本:随当前 FPK 或 Docker 镜像提供的 Web 界面版本。
  • 当前版本:浏览器当前使用的界面版本,并标明来自内置资源还是在线资源。
  • 可用版本:更新源提供的最新 Web 界面版本。
  • 下载大小:当前可用更新包的大小。
  • 后端兼容性:可用版本是否与当前 Rust 后端兼容。

不兼容的 Web 界面版本不能安装。

检查与安装

  1. 点击 检查更新 获取最新版本与兼容性信息。
  2. 确认版本兼容后,点击 安装更新
  3. 安装成功后点击 刷新界面,让浏览器加载新的 Web 界面资源。

安装只切换 Web 界面资源,不会清除书库、账号、播放进度或数据库。安装失败时继续使用当前有效版本。

回滚

存在可回滚版本时,页面会显示 回滚到 vX.X.X。确认后只回滚 Web 界面资源,完成后需要刷新界面。

发行物内置的 Web 界面始终保留为基础版本;在线资源不可用或不兼容时,系统可以继续使用内置界面。Web 界面回滚不等同于后端服务、数据库、FPK 或 Docker 镜像回滚。

后端服务更新

后端服务由 FPK 内固定的监督服务管理。监督服务持有对外端口和飞牛网关 Socket,Rust API 作为仅监听本机回环端口的 worker 运行。

页面显示当前后端版本、可用版本、下载大小、监督服务版本、运行状态、可回滚版本和自动兜底状态。

检查与安装

  1. 从飞牛统一网关打开应用,进入 后端服务 标签。
  2. 点击 检查更新。系统只接受固定 HTTPS 发布目录中的签名清单。
  3. 点击 安装更新 后,系统校验架构、大小、SHA-256、Ed25519 签名、监督服务版本和数据库 schema 兼容范围。
  4. 候选 worker 在独立的本机端口启动,连续三次 readiness 检查通过后才切换新请求。

候选下载、启动或 readiness 失败时,当前 worker 继续服务,不改变当前版本。在线 worker 每次启动前都会重新校验磁盘文件和签名。

自动兜底与回滚

当前在线 worker 在 60 秒内连续两次启动失败或崩溃时,监督服务自动切回声明兼容当前 schema 的上一版本;上一版本不可用时恢复 FPK 内置 worker。监督服务自身保持运行并提供恢复状态页。

声明禁止自动回滚的版本不会被监督服务擅自切换到旧二进制。手工回滚同样先把目标版本作为候选完成校验和 readiness,再切换流量。

后端在线更新不执行数据库迁移。需要新增或变更数据库 schema 时,必须安装完整 FPK。

常见提示

  • 当前发行环境未启用前端在线更新:当前部署没有启用此能力,请继续通过 FPK、Docker 镜像或正式安装包升级。
  • 后端不兼容:可用的 Web 界面版本要求更高或不同的后端版本,不能安装。
  • 安装或回滚失败:当前有效界面不会被替换;可稍后重试或继续使用现有版本。
  • 仅允许飞牛统一网关管理员:当前通过普通端口进入,只能查看后端状态;请从飞牛桌面应用入口打开。
  • 候选版本验证失败:候选没有通过签名、完整性、兼容性或 readiness 检查,当前后端保持不变。
  • 后端服务正在恢复:监督服务仍在运行,正在重启当前 worker 或切换到兼容的兜底版本。