如何从社区版切换到 Halo 付费版

11 阅读

为什么考虑升级到付费版?

相比社区版,付费版在内容管理的基础上提供了一系列进阶能力:

  • 全站私有化:整个站点需登录才能访问,适合企业内部知识库、付费社区或不对外公开的内容站点

  • AI 插件:AI 辅助生成文章、RAG 智能问答,让访客可以直接与你的站点内容对话

  • 付费阅读插件:对部分内容设置付费门槛,支持将内容变现

  • SEO 优化插件:更完整的搜索引擎优化工具,提升站点在搜索结果中的排名

  • 手机号注册登录:支持短信验证码登录,降低用户注册门槛,提升账号安全性

  • 品牌信息自定义:替换控制台中的 Halo 默认 Logo 及品牌标识,适合对外交付或多品牌运营场景

  • 在线商城(商城版):品牌官网 + CMS + 线上店铺一体化,支持微信支付、支付宝、Stripe

如果你对版本功能还有疑问,可以先查阅版本区别说明,或访问官方版本对比页面

概览

确认要升级后,切换过程本身非常简单——你的所有数据、配置和数据库连接信息均无需改动,只需将运行的镜像或 JAR 包替换为付费版对应的版本并重启,随后按需激活许可证即可。

这与 GitLab CE/EE 的升级方式类似:底层数据完全兼容,切换本身只是替换运行文件。

切换前建议先备份数据,可参考备份与恢复

Docker Compose 部署

只需将 docker-compose.yaml 中的镜像从社区版改为付费版镜像,其余配置保持不变。

修改镜像地址

services:
  halo:
    image: registry.fit2cloud.com/halo/halo:2.23 # [!code --]
    image: registry.fit2cloud.com/halo/halo-pro:2.23  # 改为此镜像 [!code ++]

镜像对应关系如下:

版本 Docker Hub 国内镜像库
社区版 halohub/halo:<version> registry.fit2cloud.com/halo/halo
付费版 halohub/halo-pro:<version> registry.fit2cloud.com/halo/halo-pro

将镜像地址替换为付费版对应地址,版本号保持一致即可。如果服务器拉取 Docker Hub 速度缓慢,可以使用国内镜像库地址。

重启服务

docker compose pull
docker compose up -d

Docker 部署

停止并删除原有容器,用付费版镜像重新创建,挂载目录和端口映射保持不变。

停止并删除旧容器

docker stop halo
docker rm halo

拉取付费版镜像

# Docker Hub
docker pull halohub/halo-pro:2.23

# 国内镜像库(拉取缓慢时使用)
docker pull registry.fit2cloud.com/halo/halo-pro:2.23

重新创建容器

将原启动命令中的镜像地址替换为付费版镜像,其他参数完全不变。以下以常见配置为例:

docker run -it -d \
  --name halo \
  -p 8090:8090 \
  -v ~/.halo2:/root/.halo2 \
  -e JVM_OPTS="-Xmx256m -Xms256m" \
  registry.fit2cloud.com/halo/halo-pro:2.23

JAR 部署

JAR 部署方式下,社区版和付费版对应不同的 JAR 文件:

版本 JAR 文件名 下载地址
社区版 halo-<version>.jar GitHub Releases
付费版 halo-pro-<version>.jar download.halo.run

停止正在运行的 Halo 服务

service halo stop

下载付费版 JAR 包,覆盖原文件

wget https://dl.halo.run/release/halo-pro-2.23.0.jar -O ~/app/halo.jar

启动服务

service halo start

工作目录(~/.halo2)、配置文件(application.yaml)以及 systemd service 文件均无需任何修改。

激活许可证

切换到付费版镜像后,Halo 会正常启动,此时功能与社区版相同。如需解锁专业版或商城版的专属功能,需要购买并激活对应的许可证。

如果暂时不需要付费版专属功能,无需激活,站点可以继续正常使用。


评论