对于修订版本升级,例如: 从10.0.1 升级到 10.0.4 版本,只需要下载新镜像,停止 docker 容器,把 docker-compose.yml 中的 Seafile 镜像版本修改为新版本,然后执行: docker compose up -d 启动就可以了。
对于大版本升级 ,例如 10.0.x 升级 11.0.x ,一般需要以下步骤
- 下载新镜像,停止 docker 容器
- 执行一些各个版本特定手工的配置升级
- 启动容器 请在升级之前阅读下文查看各个版本的升级说明。
从 13.0 升级到 14.0
1. 停止服务
升级前停止 Seafile 服务:
docker compose down2. 下载最新的 .yml 文件
2.1 下载 seafile-server.yml
先备份旧文件:
mv seafile-server.yml seafile-server.yml.bak根据使用的版本下载 Seafile 14 配置文件:
# 社区版wget https://manual.seafile.com/14.0/repo/docker/ce/seafile-server.yml# 专业版wget https://manual.seafile.com/14.0/repo/docker/pro/seafile-server.yml2.2 下载通知服务器的 .yml 文件(可选)
如果使用通知服务器,请备份原文件,并根据部署方式下载新版文件。
与 Seafile 部署在一起:
mv notification-server.yml notification-server.yml.bakwget https://manual.seafile.com/14.0/repo/docker/notification-server.yml单独部署:
mv notification-server.yml notification-server.yml.bakwget https://manual.seafile.com/14.0/repo/docker/notification-server/notification-server.yml2.3 下载 Metadata Server 的 .yml 文件(可选)
如果使用 Metadata Server,请备份原文件,并根据部署方式下载新版文件。
与 Seafile 部署在一起:
mv md-server.yml md-server.yml.bakwget https://manual.seafile.com/14.0/repo/docker/md-server.yml单独部署:
mv md-server.yml md-server.yml.bakwget https://manual.seafile.com/14.0/repo/docker/metadata-server/md-server.yml2.4 下载 Thumbnail Server 的 .yml 文件(可选)
如果使用 Thumbnail Server,请备份原文件,并根据部署方式下载新版文件。
与 Seafile 部署在一起:
mv thumbnail-server.yml thumbnail-server.yml.bakwget https://manual.seafile.com/14.0/repo/docker/thumbnail-server.yml单独部署:
mv thumbnail-server.yml thumbnail-server.yml.bakwget https://manual.seafile.com/14.0/repo/docker/thumbnail-server/thumbnail-server.yml3. 修改 .env
3.1 更新镜像版本
社区版:
SEAFILE_IMAGE=seafileltd/seafile-mc:14.0-latest# 如果使用通知服务器NOTIFICATION_SERVER_IMAGE=seafileltd/notification-server:14.0-latest# 如果使用 Metadata ServerMD_IMAGE=seafileltd/seafile-md-server:14.0-latest# 如果使用 Thumbnail ServerTHUMBNAIL_SERVER_IMAGE=seafileltd/thumbnail-server:14.0-latest专业版:
SEAFILE_IMAGE=seafileltd/seafile-pro-mc:14.0-latest# 如果使用通知服务器NOTIFICATION_SERVER_IMAGE=seafileltd/notification-server:14.0-latest# 如果使用 Metadata ServerMD_IMAGE=seafileltd/seafile-md-server:14.0-latest# 如果使用 Thumbnail ServerTHUMBNAIL_SERVER_IMAGE=seafileltd/thumbnail-server:14.0-latest3.2 更新 WebDAV 配置
如果未使用 WebDAV,跳过此步骤。
从 Seafile 14.0 开始,WebDAV 的启用开关及工作进程数改为通过 Seafile 服务器的 .env 设置。如果升级前在 seafdav.conf 中启用了 WebDAV,请在 .env 中添加:
ENABLE_SEAFDAV=trueSEAFDAV_WORKERS=5然后从 /opt/seafile-data/seafile/conf/seafdav.conf 中删除 enabled 和 workers 两项,其他设置保持不变。
3.3 更新 Metadata Server 配置
如果未使用 Metadata Server,跳过此步骤。
从 Seafile 14.0 开始,Metadata Server 的配置从 seahub_settings.py 移至 Seafile 服务器的 .env。如果 seahub_settings.py 中有 ENABLE_METADATA_MANAGEMENT 和 METADATA_SERVER_URL,请删除。
旧的 METADATA_SERVER_URL 已更名为 INNER_METADATA_SERVER_URL。新版 seafile-server.yml 默认将 INNER_METADATA_SERVER_URL 设置为 http://seafile-md-server:8084。启用 Metadata Server 时,在 .env 中添加:
ENABLE_METADATA_MANAGEMENT=True如果 Metadata Server 是单独部署的,还需要在 .env 中指定其地址:
INNER_METADATA_SERVER_URL=http://<your metadata-server host>:8084如果使用集群部署,需要在每个使用 Metadata Server 的 Seafile 服务节点的 .env 中添加相同的配置,并确保 Seafile 容器能够访问 INNER_METADATA_SERVER_URL。
4. 修改 seahub_settings.py
配置文件路径:/opt/seafile-data/seafile/conf/seahub_settings.py。
4.1 更新 Thumbnail Server 配置
如果未使用 Thumbnail Server,跳过此步骤。
如果原文件中有以下旧配置,请删除;Seafile 14.0 默认启用视频缩略图:
ENABLE_VIDEO_THUMBNAIL = True然后添加以下配置以启用 Thumbnail Server(默认不启用):
ENABLE_THUMBNAIL_SERVER = True4.2 更新本地密码配置
Seafile 14.0 已移除以下配置。如果原文件中存在,请删除:
DISABLE_ADFS_USER_PWD_LOGIN = TrueENABLE_CHANGE_PASSWORD = TrueENABLE_SSO_USER_CHANGE_PASSWORD = True如果希望禁止通过 SAML/ADFS、OAuth、LDAP 等外部身份提供方认证的用户使用 Seafile 本地密码登录,以及更改或重置本地密码,可以添加:
DISABLE_SSO_USER_LOCAL_PWD_LOGIN = True # 默认值为 False4.3 更新每月流量配额配置
如果 seahub_settings.py 的 ENABLED_ROLE_PERMISSIONS 中没有 monthly_rate_limit 或 monthly_rate_limit_per_user,则跳过此步骤。
Seafile 14.0 分别配置每月下载和上传流量配额,原有两个参数不再生效。请对 ENABLED_ROLE_PERMISSIONS 中每个角色的配置进行以下替换,保留原来的配额值。
将:
'monthly_rate_limit': '<原有配置值>',替换为:
'monthly_download_traffic_limit': '<原有配置值>',对于组织用户,将:
'monthly_rate_limit_per_user': '<原有配置值>',替换为:
'monthly_download_traffic_limit_per_user': '<原有配置值>',如果需要另外设置每月上传流量配额,可在对应角色中添加:
'monthly_upload_traffic_limit': '','monthly_upload_traffic_limit_per_user': '',不带 _per_user 的参数适用于非组织用户;带 _per_user 的参数适用于组织用户,其值会与组织成员配额相乘。配额可使用 500M、100G 等单位;空字符串表示不设置每月配额。
用户超过配额后,Seafile 会降低对应方向的传输速度。默认限速为 1k(1 KB/s),如需修改,可在 seahub_settings.py 中添加以下任意一个或两个参数:
DOWNLOAD_LIMIT_WHEN_THROTTLE = '1k'UPLOAD_LIMIT_WHEN_THROTTLE = '1k'5. 更新搜索配置(仅专业版)
Seafile 14.0 将搜索开关、搜索引擎选择、文档内容索引及搜索服务连接配置迁移到 Seafile 服务器的 .env。新版专业版 Compose 文件默认启用搜索,并使用 SeaSearch。
如果不使用搜索,在 .env 中添加以下配置并跳过本步骤的剩余内容:
ENABLE_SEARCH=false如果使用搜索,根据实际搜索引擎选择对应配置。
SeaSearch:
ENABLE_SEARCH=trueSEARCH_ENGINE=seasearchENABLE_FULL_TEXT_SEARCH=trueSEASEARCH_URL=http://seasearch:4080SEASEARCH_TOKEN=<your SeaSearch authorization token>Elasticsearch:
ENABLE_SEARCH=trueSEARCH_ENGINE=elasticsearchENABLE_FULL_TEXT_SEARCH=trueELASTICSEARCH_SCHEME=httpELASTICSEARCH_HOST=<your Elasticsearch host>ELASTICSEARCH_PORT=9200ELASTICSEARCH_USER=ELASTICSEARCH_PASSWORD=ENABLE_FULL_TEXT_SEARCH 控制搜索引擎是否索引文档内容,默认值为 true。如只需文件名搜索,可设为 false。如果 SeaSearch 单独部署在其他服务器,请将 SEASEARCH_URL 修改为 Seafile 容器可以访问的地址。
完成 .env 配置后,删除 /opt/seafile-data/seafile/conf/seafevents.conf 中对应的旧配置:
- 从 [INDEX FILES] 和 [SEASEARCH] 中删除 enabled;搜索功能改由 .env 中的 ENABLE_SEARCH 和 SEARCH_ENGINE 控制。
- 使用 SeaSearch 时,从 [SEASEARCH] 中删除 seasearch_url 和 seasearch_token。
- 使用 Elasticsearch 时,从 [INDEX FILES] 中删除 scheme、es_host、es_port、username 和 password。
- 从 [INDEX FILES] 或 [SEASEARCH] 中删除 enable_full_text_search;此配置已由 .env 中的 ENABLE_FULL_TEXT_SEARCH 控制。
6. 切换缓存服务器为 Redis
如果已经在使用 Redis,跳过此步骤。
从 Seafile 14.0 开始,许多新功能依赖 Redis 缓存,官方强烈建议仍使用 Memcached 的部署切换到 Redis:
- 不要从新下载的 seafile-server.yml 中删除或注释 redis 服务,以及 seafile 服务对 Redis 的依赖。
- 在 .env 中更新缓存配置:
## CacheCACHE_PROVIDER=redis### RedisREDIS_HOST=redisREDIS_PORT=6379REDIS_PASSWORD=如果使用外部 Redis 服务器,请根据实际情况设置 REDIS_HOST、REDIS_PORT 和 REDIS_PASSWORD。
7. 启动 Seafile
docker compose up -d从 12.0 升级到 13.0
从 Seafile Docker 13.0 开始,elasticsearch.yml已从 seafile-server.yml 分离,Seafile 将支持从环境变量获取缓存配置。
1.停止服务
升级前,停止 Seafile 服务
docker compose down2.下载最新的.yml文件
2.1 下载seafile-server.yml
在下载最新seafile-server.yml之前,请备份您的原始文件:
mv seafile-server.yml seafile-server.yml.bak2.2 然后根据以下命令下载新seafile-server.yml:
#社区版wget https://manual.seafile.com/13.0/repo/docker/ce/seafile-server.yml#专业版wget https://manual.seafile.com/13.0/repo/docker/pro/seafile-server.yml下载通知服务器的.yml文件
#和seafile一起部署wget https://manual.seafile.com/13.0/repo/docker/notification-server.yml#单独部署wget https://manual.seafile.com/13.0/repo/docker/notification-server/notification-server.yml2.3 下载搜索引擎.yml文件(专业版)
从 Seafile Docker 13.0 (Pro) 开始,ElasticSearch 服务将由单独的资源文件(即 elasticsearch.yml)控制。如果您正在使用 Seafile Pro 并仍计划使用 ElasticSearch,请下载elasticsearch.yml:
wget https://manual.seafile.com/13.0/repo/docker/pro/elasticsearch.yml如果您使用 SeaSearch 作为搜索引擎,请下载最新的seasearch.yml文件:
mv seasearch.yml seasearch.yml.bakwget https://manual.seafile.com/13.0/repo/docker/pro/seasearch.yml2.4 下载 seadoc.yml 文件(可选)
如果你使用 SeaDoc 扩展,还需要更新 seadoc.yml 文件。
wget https://manual.seafile.com/13.0/repo/docker/seadoc.yml3. 修改.env,更新镜像版本并添加缓存配置
3.1 将镜像版本更新到 Seafile 13
# 社区版SEAFILE_IMAGE=seafileltd/seafile-mc:13.0-latestSEADOC_IMAGE=seafileltd/sdoc-server:2.0-latestNOTIFICATION_SERVER_IMAGE=seafileltd/notification-server:13.0-latest#专业版# -- add `elasticsearch.yml` if you are still using ElasticSearch# COMPOSE_FILE='...,elasticsearch.yml'# -- if you are using SeaSearch, please also update the SeaSearch image# SEASEARCH_IMAGE=seafileltd/seasearch:1.0-latest # or seafileltd/seasearch-nomkl:1.0-latest for Apple chipsSEAFILE_IMAGE=seafileltd/seafile-pro-mc:13.0-latestSEADOC_IMAGE=seafileltd/sdoc-server:2.0-latestNOTIFICATION_SERVER_IMAGE=seafileltd/notification-server:13.0-latest3.2 添加缓存配置
从 Seafile 13 开始,数据库和缓存的配置可以直接通过环境变量进行设置(您可以在 .env 中定义)。此外,推荐Redis作为主要缓存服务器。
Redis:
## CacheCACHE_PROVIDER=redis### RedisREDIS_HOST=redisREDIS_PORT=6379REDIS_PASSWORD=Memcached:
## CacheCACHE_PROVIDER=memcached### MemcachedMEMCACHED_HOST=memcachedMEMCACHED_PORT=112113.3 为通知服务器添加配置
如果您在 Seafile 12 中使用通知服务器,请在 .env 中指定通知服务器 URL:
#如果和seafile部署在同一台服务器ENABLE_NOTIFICATION_SERVER=true#单独部署ENABLE_NOTIFICATION_SERVER=trueNOTIFICATION_SERVER_URL=http://<your notification server host>:8083INNER_NOTIFICATION_SERVER_URL=$NOTIFICATION_SERVER_URL3.4 添加存储后端的配置 (Pro)
Seafile 13.0 新增了 seaf-server 组件的存储后端SEAF_SERVER_STORAGE_TYPE。您可以删除变量或将其设置为空 (SEAF_SERVER_STORAGE_TYPE=) 以使用旧方法,即从 seafile.conf 确定存储后端。
本地存储(默认):
#本地存储(默认)SEAF_SERVER_STORAGE_TYPE=diskS3 存储:
#S3存储SEAF_SERVER_STORAGE_TYPE=s3S3_COMMIT_BUCKET=<your commit bucket name>S3_FS_BUCKET=<your fs bucket name>S3_BLOCK_BUCKET=<your block bucket name>S3_SS_BUCKET=<your seasearch bucket name> # for seasearchS3_MD_BUCKET=<your metadata bucket name> # for metadata-serverS3_KEY_ID=<your-key-id>S3_SECRET_KEY=<your-secret-key>S3_USE_V4_SIGNATURE=trueS3_PATH_STYLE_REQUEST=falseS3_AWS_REGION=us-east-1S3_HOST=S3_USE_HTTPS=trueS3_SSE_C_KEY=多存储后端:
将SEAF_SERVER_STORAGE_TYPE设置为multiple。在这种情况下,您无需更改 seafile.conf 中的存储配置。
SEAF_SERVER_STORAGE_TYPE=multiple如果您想使用 seafile.conf 中的存储配置,请删除 .env 中的默认值 SEAF_SERVER_STORAGE_TYPE:
SEAF_SERVER_STORAGE_TYPE=4. 删除 obsolote 配置
尽管环境中的配置(即 .env)的优先级高于配置文件中的配置,但我们建议您删除或修改以下文件中的缓存配置以避免歧义:
4.1 备份旧的配置文件:
# please replace /opt/seafile-data to your $SEAFILE_VOLUMEcp /opt/seafile-data/seafile/conf/seafile.conf /opt/seafile-data/seafile/conf/seafile.conf.bakcp /opt/seafile-data/seafile/conf/seahub_settings.py /opt/seafile-data/seafile/conf/seahub_settings.py.bakcp /opt/seafile-data/seafile/conf/seafevents.conf /opt/seafile-data/seafile/conf/seafevents.conf.bak4.2 清理配置文件中的冗余配置项:
打开/opt/seafile-data/seafile/conf/seafile.conf并删除[memcached],[database],[commit_object_backend],[fs_object_backend],[notification]和[block_backend]
如果上述部分在.env中已配置。在大多数情况下,seafile.conf 仅包含 Seafile 文件服务器的侦听端口 8082。
打开/opt/seafile-data/seafile/conf/seafile.conf并删除[database]相关配置。
打开/opt/seafile-data/seafile/conf/seahub_settings.py并删除DATABASES = {...}和CAHCES = {...}
5. 启动服务
docker compose up -d从 11.0 升级到 12.0
从 Seafile Docker 12.0 开始,使用 .env 和 seafile-server.yml 进行配置。
备份配置文件 (docker-compose.yml)
mv docker-compose.yml docker-compose.yml.bak下载配置文件
下载.env、seafile-server.yml和caddy.yml,并根据docker-compose.yml.bak中的配置修改.env 文件。
#Seafile社区版wget -O .env https://manual.seafile.com/12.0/repo/docker/ce/envwget https://manual.seafile.com/12.0/repo/docker/ce/seafile-server.ymlwget https://manual.seafile.com/12.0/repo/docker/caddy.yml#Seafile企业版(Github镜像源)wget -O .env https://manual.seafile.com/12.0/repo/docker/pro/envwget https://manual.seafile.com/12.0/repo/docker/pro/seafile-server.ymlwget https://manual.seafile.com/12.0/repo/docker/caddy.yml以下字段需要特别注意:
社区版:
变量名
描述
默认值
SEAFILE_VOLUME
Seafile 数据目录
/opt/seafile-data
SEAFILE_MYSQL_VOLUME
MySQL 数据目录
/opt/seafile-mysql/db
SEAFILE_CADDY_VOLUME
用于存储从 Let's Encrypt 获得的证书的 Caddy 数据目录。
/opt/seafile-caddy
SEAFILE_MYSQL_DB_USER
MySQL 的用户(可在conf/seafile.conf中找到)。
seafile
SEAFILE_MYSQL_DB_PASSWORD
MySQL seafile用户密码
(必填)
SEAFILE_MYSQL_DB_CCNET_DB_NAME
ccnet 数据库名称
ccnet_db
SEAFILE_MYSQL_DB_SEAFILE_DB_NAME
seafile 数据库名称
seafile_db
SEAFILE_MYSQL_DB_SEAHUB_DB_NAME
seahub 数据库名称
seahub_db
JWT
JWT 私钥,Seafile 需要一个长度不小于 32 个字符的随机字符串,可以使用pwgen -s 40 1生成。
(必填)
SEAFILE_SERVER_HOSTNAME
Seafile服务器的主机名或域名
(必填)
SEAFILE_SERVER_PROTOCOL
Seafile服务器协议(http或https)
http
TIME_ZONE
时区
Asia/Shanghai
专业版:
变量名
描述
默认值
SEAFILE_VOLUME
Seafile 数据目录
/opt/seafile-data
SEAFILE_MYSQL_VOLUME
MySQL 数据目录
/opt/seafile-mysql/db
SEAFILE_CADDY_VOLUME
用于存储从 Let's Encrypt 获得的证书的 Caddy 数据目录
/opt/seafile-caddy
SEAFILE_ELASTICSEARCH_VOLUME
Elasticsearch数据目录(仅专业版有效)
/opt/seafile-elasticsearch/data
SEAFILE_MYSQL_DB_USER
MySQL 的用户(可在conf/seafile.conf中找到)
seafile
SEAFILE_MYSQL_DB_PASSWORD
MySQL seafile用户密码
(必填)
JWT
JWT 私钥,Seafile 需要一个长度不小于 32 个字符的随机字符串,可以使用pwgen -s 40 1 生成。
(必填)
SEAFILE_SERVER_HOSTNAME
Seafile服务器的主机名或域名
(必填)
SEAFILE_SERVER_PROTOCOL
Seafile服务器协议(http或https)
http
TIME_ZONE
时区
Asia/Shanghai
注意:
- 上表中变量的值应与现有的配置保持一致,您可以从seafile.conf或其他配置文件中查验这些值。
- 配置文件 .env 中初始化配置的变量可以删除,例如 INIT_SEAFILE_ADMIN_EMAIL, INIT_SEAFILE_ADMIN_PASSWORD SSL 现在由Caddy 服务处理。如果您之前使用过 SSL,还需要修改 seafile.nginx.conf,将服务器监听的 443 改为 80。
备份seafile.nginx.conf配置文件:
cp seafile.nginx.conf seafile.nginx.conf.bak注释 “server listen 80” 部分:
#server {# listen 80;# server_name _ default_server; # allow certbot to connect to challenge location via HTTP Port 80 # otherwise renewal request will fail# location /.well-known/acme-challenge/ {# alias /var/www/challenges/;# try_files $uri =404;# }# location / {# rewrite ^ https://example.seafile.com$request_uri? permanent;# }#}将 server listen 443改为 80:
server {#listen 443 ssl;listen 80;# ssl_certificate /shared/ssl/pkg.seafile.top.crt;# ssl_certificate_key /shared/ssl/pkg.seafile.top.key;# ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS; ...启动容器。
升级notification服务
SeaDoc升级(0.8到1.0)
如果您已经使用 Seafile v11.0 部署了 SeaDoc v0.8,在Seafile12.0中则可以按照以下步骤将其升级到 1.0:
- 删除 sdoc_db
- 删除 seafile.nginx.conf文件中SeaDoc相关配置
- 删除旧的 SeaDoc 并部署一个新的 SeaDoc 服务
删除 sdoc_db
SeaDoc从 1.0 版本开始,开始使用 seahub_db 数据库存储其操作日志,不再需要额外的数据库 sdoc_db。将 Seafile 服务从 11.0 版本升级到 12.0 版本时,seahub_db 中的数据库表会自动创建,sdoc_db可直接删除。
删除 seafile.nginx.conf文件中SeaDoc相关配置
如果您部署了旧版本的 SeaDoc,需要删除 seafile.nginx.conf 文件中的/sdoc-server/、/socket.io配置
# location /sdoc-server/ {# add_header Access-Control-Allow-Origin *;# add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;# add_header Access-Control-Allow-Headers "deviceType,token, authorization, content-type";# if ($request_method = 'OPTIONS') {# add_header Access-Control-Allow-Origin *;# add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;# add_header Access-Control-Allow-Headers "deviceType,token, authorization, content-type";# return 204;# }# proxy_pass http://sdoc-server:7070/;# proxy_redirect off;# proxy_set_header Host $host;# proxy_set_header X-Real-IP $remote_addr;# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# proxy_set_header X-Forwarded-Host $server_name;# proxy_set_header X-Forwarded-Proto $scheme;# client_max_body_size 100m;# }# location /socket.io {# proxy_pass http://sdoc-server:7070;# proxy_http_version 1.1;# proxy_set_header Upgrade $http_upgrade;# proxy_set_header Connection 'upgrade';# proxy_redirect off;# proxy_buffers 8 32k;# proxy_buffer_size 64k;# proxy_set_header X-Real-IP $remote_addr;# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# proxy_set_header Host $http_host;# proxy_set_header X-NginX-Proxy true;# }部署一个新的 SeaDoc 服务
其他配置
启用 REMOTE_USER
默认情况下,REMOTE_USER 不会传递给 Seafile,如果你需要 SSO 的 REMOTE_USER ,则需要更改gunicorn.conf.py。
forwarder_headers = 'SCRIPT_NAME,PATH_INFO,REMOTE_USER'在seahub中补充或删除ALLOWED_HOSTS
自版本 12.0 起,seaf-server 组件需要向 seahub 组件发送内部请求以检查权限,如果 ALLOWED_HOSTS 设置不正确,在下载文件时会报告 400 Error 错误。在这种情况下,你可以在seahub_settings.py中删除ALLOWED_HOSTS,或者在ALLOWED_HOSTS列表中补充127.0.0.1
# seahub_settings.pyALLOWED_HOSTS = ['...(your domain)', '127.0.0.1']从 10.0 升级到 11.0
下载新镜像,停止旧的 docker 容器,将 docker-compose.yml 中的 Seafile 镜像版本修改为新版本。
迁移 LDAP 和 OAuth 的配置和其他一些配置请参考:https://cloud.seafile.com/published/seafile-manual-cn/upgrade/upgrade_notes_for_11.0.x.md
执行:docker compose up - d 启动容器
从 9.0 升级到 10.0
下载新镜像,停止旧的 docker 容器,将 docker-compose.yml 中的 Seafile 镜像版本修改为新版本,然后执行:docker compose up - d启动容器。
如果您使用的是带有 ElasticSearch、SAML SSO 和存储后端功能的专业版,请按照升级手册了解如何更新这些功能的配置:https://cloud.seafile.com/published/seafile-manual-cn/upgrade/upgrade_notes_for_10.0.x.md
如果您想使用新的通知服务器和速率控制(仅限专业版),请参考升级手册:https://cloud.seafile.com/published/seafile-manual-cn/upgrade/upgrade_notes_for_10.0.x.md
从 8.0 升级到 9.0
只需下载新镜像,停止旧的 docker 容器,将 docker-compose.yml 中的 Seafile 镜像版本修改为新版本,然后执行:docker compose up -d 启动。
如果您使用的是带有 ElasticSearch,需要给ElasticSearch升级,请参考升级手册:https://cloud.seafile.com/published/seafile-manual-cn/upgrade/upgrade_notes_for_9.0.x.md
启用 https
9.0.6 及以后版本中使用了 acme v3 申请证书。 如果存在旧版本生成的证书,启动前需要备份并移走旧的证书目录和旧的 seafile.nginx.conf。
mv /opt/seafile/shared/ssl /opt/seafile/shared/ssl-bak mv /opt/seafile/shared/nginx/conf/seafile.nginx.conf /opt/seafile/shared/nginx/conf/seafile.nginx.conf.bak启动新容器会自动申请证书。
docker compose down docker compose up -d等待证书申请成功,然后您可以按照想要的内容修改新的 seafile.nginx.conf,并执行以下命令使 nginx 配置生效。
docker exec seafile nginx -s reload新容器内的定时任务会自动更新证书,无需再次执行本操作
7.1 升级到 8.0
只需下载新镜像,停止旧的 docker 容器,将 docker-compose.yml 中的 Seafile 镜像版本修改为新版本,然后执行:docker compose up -d 启动容器。
7.0 升级到 7.1
只需下载新镜像,停止旧的 docker 容器,将 docker-compose.yml 中的 Seafile 镜像版本修改为新版本,然后执行:docker compose up -d 启动容器。