如何将11.02 升级到最新版本

如何将11.02 升级到最新版本

将 Seafile 从 11.0.x 升级到最新版本(当前主要版本为 13.0)的具体步骤取决于您的部署方式(Docker 或 宿主机二进包部署)。由于 Seafile 13.0 社区版已不再支持二进包部署,强烈建议使用 Docker 方式进行升级和后续维护

方式一:Docker 部署升级(推荐)

如果您的 Seafile 11.0 是通过 Docker 部署的,升级过程分为两个阶段:先升级到 12.0,再升级到 13.0。

1. 升级到 12.0 阶段

从 12.0 版本开始,Seafile 引入了 .envseafile-server.yml 结合的配置方式。

  1. 备份原配置:备份现有的 docker-compose.yml 文件。
  2. 下载新配置文件
    # 社区版
    wget -O .env https://manual.seafile.com/12.0/repo/docker/ce/env
    wget https://manual.seafile.com/12.0/repo/docker/ce/seafile-server.yml
    wget https://manual.seafile.com/12.0/repo/docker/caddy.yml
    
  3. 配置 .env:根据旧的 docker-compose.yml 修改 .env 文件,确保 SEAFILE_VOLUMESEAFILE_MYSQL_DB_PASSWORDSEAFILE_SERVER_HOSTNAME 等关键字段与原配置一致。
  4. 迁移 Nginx 配置:如果您之前自定义了 seafile.nginx.conf,需要将其备份并适配新版的监听方式(新版 Docker 内部 Nginx 通常监听 80 端口,由外部 Caddy 或宿主机 Nginx 处理 HTTPS)。
  5. 启动容器:执行 docker compose up -d

2. 升级到 13.0 阶段

  1. 停止服务:执行 docker compose down
  2. 下载 13.0 配置文件
    # 社区版
    mv seafile-server.yml seafile-server.yml.bak
    wget https://manual.seafile.com/13.0/repo/docker/ce/seafile-server.yml
    
  3. 更新 .env 镜像版本
    SEAFILE_IMAGE=seafileltd/seafile-mc:13.0-latest
    
  4. 添加 Redis 缓存配置(13.0 推荐使用 Redis 作为主缓存):
    .env 中添加 CACHE_PROVIDER=redis 及相关 Redis 主机信息。
  5. 清理冗余配置:备份并清理 seafile.confseahub_settings.py 中已迁移到环境控制的数据库和缓存配置项。
  6. 启动服务:执行 docker compose up -d

方式二:宿主机二进包升级(仅限专业版/过渡)

如果您使用的是二进包部署,且希望升级到最新版,请按以下步骤操作。注意:社区版用户需先迁移至 Docker 才能使用 13.0。

  1. 停止 Seafile 服务
    ./seahub.sh stop
    ./seafile.sh stop
    
  2. 下载并解压新版本安装包:确保目录结构正确(如 seafile-server-11.0.2 与新版目录并列)。
  3. 运行升级脚本
    进入新版目录的 upgrade 文件夹,依次运行跨度脚本。例如从 11.0 升级到 12.0:
    upgrade/upgrade_11.0_12.0.sh
    
    注意:必须逐个大版本升级(11.0 → 12.0 → 13.0),不能跳级。
  4. 更新 Python 依赖:各版本对 Python 环境要求不同,请参考对应版本的升级指南安装所需的库。
  5. 启动服务
    ./seafile.sh start
    ./seahub.sh start
    

核心注意事项

  • 备份数据:在进行任何升级操作前,请务必完整备份数据库和 seafile-data 目录。
  • 配置迁移:从 11.0 开始,LDAP 配置已从 ccnet.conf 迁移到 seahub_settings.py,且引入了虚拟用户 ID 机制。
  • WebDAV 变更:13.0 版本中 WebDAV 不再支持直接使用 LDAP 账号登录,需生成令牌。
1 个赞