将 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 引入了 .env 和 seafile-server.yml 结合的配置方式。
- 备份原配置:备份现有的
docker-compose.yml文件。 - 下载新配置文件:
# 社区版 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 - 配置
.env:根据旧的docker-compose.yml修改.env文件,确保SEAFILE_VOLUME、SEAFILE_MYSQL_DB_PASSWORD、SEAFILE_SERVER_HOSTNAME等关键字段与原配置一致。 - 迁移 Nginx 配置:如果您之前自定义了
seafile.nginx.conf,需要将其备份并适配新版的监听方式(新版 Docker 内部 Nginx 通常监听 80 端口,由外部 Caddy 或宿主机 Nginx 处理 HTTPS)。 - 启动容器:执行
docker compose up -d。
2. 升级到 13.0 阶段
- 停止服务:执行
docker compose down。 - 下载 13.0 配置文件:
# 社区版 mv seafile-server.yml seafile-server.yml.bak wget https://manual.seafile.com/13.0/repo/docker/ce/seafile-server.yml - 更新
.env镜像版本:SEAFILE_IMAGE=seafileltd/seafile-mc:13.0-latest - 添加 Redis 缓存配置(13.0 推荐使用 Redis 作为主缓存):
在.env中添加CACHE_PROVIDER=redis及相关 Redis 主机信息。 - 清理冗余配置:备份并清理
seafile.conf和seahub_settings.py中已迁移到环境控制的数据库和缓存配置项。 - 启动服务:执行
docker compose up -d。
方式二:宿主机二进包升级(仅限专业版/过渡)
如果您使用的是二进包部署,且希望升级到最新版,请按以下步骤操作。注意:社区版用户需先迁移至 Docker 才能使用 13.0。
- 停止 Seafile 服务:
./seahub.sh stop ./seafile.sh stop - 下载并解压新版本安装包:确保目录结构正确(如
seafile-server-11.0.2与新版目录并列)。 - 运行升级脚本:
进入新版目录的upgrade文件夹,依次运行跨度脚本。例如从 11.0 升级到 12.0:
注意:必须逐个大版本升级(11.0 → 12.0 → 13.0),不能跳级。upgrade/upgrade_11.0_12.0.sh - 更新 Python 依赖:各版本对 Python 环境要求不同,请参考对应版本的升级指南安装所需的库。
- 启动服务:
./seafile.sh start ./seahub.sh start
核心注意事项
- 备份数据:在进行任何升级操作前,请务必完整备份数据库和
seafile-data目录。 - 配置迁移:从 11.0 开始,LDAP 配置已从
ccnet.conf迁移到seahub_settings.py,且引入了虚拟用户 ID 机制。 - WebDAV 变更:13.0 版本中 WebDAV 不再支持直接使用 LDAP 账号登录,需生成令牌。
1 个赞
