Skip to content
Novaix 目前处于早期开发阶段,功能尚未稳定,可能存在严重的 Bug。请勿用于生产环境。

升级

Novaix 支持在线更新和手动更新两种方式。数据库迁移会在启动时自动执行,无需手动操作。

在线更新(推荐)

在管理面板「关于」页面中点击「检查更新」,如果有新版本可用,点击「立即更新」即可自动完成下载、校验、替换和重启。

更新过程会作为一个系统任务执行,您可以在任务面板中实时查看进度日志。

下图展示了在线更新的完整流程和安全机制:

更新安全机制

在线更新过程中,系统会自动处理数据库迁移,并内置了多重保护机制:

  • SQLite 自动备份与回滚:执行数据库迁移前,系统会自动备份 SQLite 数据库文件。如果迁移失败,自动恢复数据库并回滚到旧版本
  • MySQL / PostgreSQL 停机保护:DDL 操作会隐式提交,无法通过事务回滚。迁移失败后系统会停机保留现场,不会用旧二进制跑新 schema,需人工恢复备份后重试
  • Crash Recovery:如果更新过程中程序意外崩溃(如断电),下次启动时系统会检测到未完成的更新并自动恢复
  • 启动失败回滚:如果新版本连续启动失败超过 3 次,SQLite 环境或迁移前阶段会自动回滚到旧版本;MySQL/PostgreSQL 在迁移已完成后不会自动回滚(避免旧代码跑新 schema),会停机保留现场等待人工处理

WARNING

MySQL 和 PostgreSQL 的 DDL 操作(如添加列、修改表结构)会隐式提交,无法通过事务回滚。如果使用 MySQL 或 PostgreSQL 且即将进行重大版本更新,建议在更新前手动备份数据库。详见备份与恢复

下载加速

如果服务器位于中国大陆,直接从 GitHub 下载可能较慢或无法连接。可以在管理面板「系统设置 → 高级设置」中配置更新镜像地址,例如:

https://ghfast.top

配置后,更新文件将通过镜像加速下载。

手动更新

bash
# 1. 下载新版本(以 linux/amd64 为例)
wget https://github.com/huohuastudio/novaix-releases/releases/latest/download/novaix_linux_amd64.tar.gz
tar -xzf novaix_linux_amd64.tar.gz

# 2. 备份并替换
cp /usr/local/bin/novaix /usr/local/bin/novaix.bak
mv novaix_linux_amd64/novaix /usr/local/bin/novaix
chmod +x /usr/local/bin/novaix

# 3. 重启服务
supervisorctl restart novaix
# 或
systemctl restart novaix

WARNING

升级前建议先备份数据库,以便出现问题时可以回滚。虽然 Novaix 的升级过程设计为向前兼容,但备份永远是好习惯。

查看版本

您可以通过以下方式查看当前运行的版本:

  • 管理面板的「关于」页面
  • 终端运行 novaix system:info

注意事项

  • 升级是不可逆的,数据库迁移会在启动时自动执行,回退到旧版本可能导致不兼容
  • 如果跨多个版本升级,建议查看 更新日志 了解每个版本的变更内容
  • 升级过程中服务会短暂中断(通常只需几秒),如果您对可用性要求较高,建议在低峰期操作