Docker 版升级

对于修订版本升级,例如: 从10.0.1 升级到 10.0.4 版本,只需要下载新镜像,停止 docker 容器,把 docker-compose.yml 中的 Seafile 镜像版本修改为新版本,然后执行: docker compose up -d 启动就可以了。
对于大版本升级 ,例如 10.0.x 升级 11.0.x ,一般需要以下步骤
  1. 下载新镜像,停止 docker 容器
  2. 执行一些各个版本特定手工的配置升级
  3. 启动容器 请在升级之前阅读下文查看各个版本的升级说明。
从 13.0 升级到 14.0
升级前,请先阅读 Seafile 14 升级说明,了解本次大版本的配置变化。
如果正在使用 Seafile AI,由于 14.0 对 Seafile AI 做了较大调整,需要按照 Seafile AI 部署文档重新部署,并先根据废弃配置清单清理旧配置。
1. 停止服务
升级前停止 Seafile 服务:
docker compose down
2. 下载最新的 .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.yml
2.2 下载通知服务器的 .yml 文件(可选)
如果使用通知服务器,请备份原文件,并根据部署方式下载新版文件。
与 Seafile 部署在一起:
mv notification-server.yml notification-server.yml.bak
wget https://manual.seafile.com/14.0/repo/docker/notification-server.yml
单独部署:
mv notification-server.yml notification-server.yml.bak
wget https://manual.seafile.com/14.0/repo/docker/notification-server/notification-server.yml
2.3 下载 Metadata Server 的 .yml 文件(可选)
如果使用 Metadata Server,请备份原文件,并根据部署方式下载新版文件。
与 Seafile 部署在一起:
mv md-server.yml md-server.yml.bak
wget https://manual.seafile.com/14.0/repo/docker/md-server.yml
单独部署:
mv md-server.yml md-server.yml.bak
wget https://manual.seafile.com/14.0/repo/docker/metadata-server/md-server.yml
2.4 下载 Thumbnail Server 的 .yml 文件(可选)
如果使用 Thumbnail Server,请备份原文件,并根据部署方式下载新版文件。
与 Seafile 部署在一起:
mv thumbnail-server.yml thumbnail-server.yml.bak
wget https://manual.seafile.com/14.0/repo/docker/thumbnail-server.yml
单独部署:
mv thumbnail-server.yml thumbnail-server.yml.bak
wget https://manual.seafile.com/14.0/repo/docker/thumbnail-server/thumbnail-server.yml
3. 修改 .env
3.1 更新镜像版本
社区版:
SEAFILE_IMAGE=seafileltd/seafile-mc:14.0-latest
# 如果使用通知服务器
NOTIFICATION_SERVER_IMAGE=seafileltd/notification-server:14.0-latest
# 如果使用 Metadata Server
MD_IMAGE=seafileltd/seafile-md-server:14.0-latest
# 如果使用 Thumbnail Server
THUMBNAIL_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 Server
MD_IMAGE=seafileltd/seafile-md-server:14.0-latest
# 如果使用 Thumbnail Server
THUMBNAIL_SERVER_IMAGE=seafileltd/thumbnail-server:14.0-latest
3.2 更新 WebDAV 配置
如果未使用 WebDAV,跳过此步骤。
从 Seafile 14.0 开始,WebDAV 的启用开关及工作进程数改为通过 Seafile 服务器的 .env 设置。如果升级前在 seafdav.conf 中启用了 WebDAV,请在 .env 中添加:
ENABLE_SEAFDAV=true
SEAFDAV_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 = True
4.2 更新本地密码配置
Seafile 14.0 已移除以下配置。如果原文件中存在,请删除:
DISABLE_ADFS_USER_PWD_LOGIN = True
ENABLE_CHANGE_PASSWORD = True
ENABLE_SSO_USER_CHANGE_PASSWORD = True
如果希望禁止通过 SAML/ADFS、OAuth、LDAP 等外部身份提供方认证的用户使用 Seafile 本地密码登录,以及更改或重置本地密码,可以添加:
DISABLE_SSO_USER_LOCAL_PWD_LOGIN = True # 默认值为 False
4.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=true
SEARCH_ENGINE=seasearch
ENABLE_FULL_TEXT_SEARCH=true
SEASEARCH_URL=http://seasearch:4080
SEASEARCH_TOKEN=<your SeaSearch authorization token>
Elasticsearch:
ENABLE_SEARCH=true
SEARCH_ENGINE=elasticsearch
ENABLE_FULL_TEXT_SEARCH=true
ELASTICSEARCH_SCHEME=http
ELASTICSEARCH_HOST=<your Elasticsearch host>
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_USER=
ELASTICSEARCH_PASSWORD=
ENABLE_FULL_TEXT_SEARCH 控制搜索引擎是否索引文档内容,默认值为 true。如只需文件名搜索,可设为 false。如果 SeaSearch 单独部署在其他服务器,请将 SEASEARCH_URL 修改为 Seafile 容器可以访问的地址。
完成 .env 配置后,删除 /opt/seafile-data/seafile/conf/seafevents.conf 中对应的旧配置:
  1. 从 [INDEX FILES] 和 [SEASEARCH] 中删除 enabled;搜索功能改由 .env 中的 ENABLE_SEARCH 和 SEARCH_ENGINE 控制。
  2. 使用 SeaSearch 时,从 [SEASEARCH] 中删除 seasearch_url 和 seasearch_token。
  3. 使用 Elasticsearch 时,从 [INDEX FILES] 中删除 scheme、es_host、es_port、username 和 password。
  4. 从 [INDEX FILES] 或 [SEASEARCH] 中删除 enable_full_text_search;此配置已由 .env 中的 ENABLE_FULL_TEXT_SEARCH 控制。
seafevents.conf 中其他高级搜索选项保留不变。更多信息可参考 SeaSearch 或 Elasticsearch。
6. 切换缓存服务器为 Redis
如果已经在使用 Redis,跳过此步骤。
从 Seafile 14.0 开始,许多新功能依赖 Redis 缓存,官方强烈建议仍使用 Memcached 的部署切换到 Redis:
  1. 不要从新下载的 seafile-server.yml 中删除或注释 redis 服务,以及 seafile 服务对 Redis 的依赖。
  2. 在 .env 中更新缓存配置:
## Cache
CACHE_PROVIDER=redis
### Redis
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_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 down
2.下载最新的.yml文件
2.1 下载seafile-server.yml
在下载最新seafile-server.yml之前,请备份您的原始文件:
mv seafile-server.yml seafile-server.yml.bak
2.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.yml
2.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.bak
wget https://manual.seafile.com/13.0/repo/docker/pro/seasearch.yml
2.4 下载 seadoc.yml 文件(可选)
如果你使用 SeaDoc 扩展,还需要更新 seadoc.yml 文件。
wget https://manual.seafile.com/13.0/repo/docker/seadoc.yml
3. 修改.env,更新镜像版本并添加缓存配置
3.1 将镜像版本更新到 Seafile 13
# 社区版
SEAFILE_IMAGE=seafileltd/seafile-mc:13.0-latest
SEADOC_IMAGE=seafileltd/sdoc-server:2.0-latest
NOTIFICATION_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 chips
SEAFILE_IMAGE=seafileltd/seafile-pro-mc:13.0-latest
SEADOC_IMAGE=seafileltd/sdoc-server:2.0-latest
NOTIFICATION_SERVER_IMAGE=seafileltd/notification-server:13.0-latest
3.2 添加缓存配置
从 Seafile 13 开始,数据库和缓存的配置可以直接通过环境变量进行设置(您可以在 .env 中定义)。此外,推荐Redis作为主要缓存服务器。
Redis:
## Cache
CACHE_PROVIDER=redis
### Redis
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
Memcached:
## Cache
CACHE_PROVIDER=memcached
### Memcached
MEMCACHED_HOST=memcached
MEMCACHED_PORT=11211
3.3 为通知服务器添加配置
如果您在 Seafile 12 中使用通知服务器,请在 .env 中指定通知服务器 URL:
#如果和seafile部署在同一台服务器
ENABLE_NOTIFICATION_SERVER=true
#单独部署
ENABLE_NOTIFICATION_SERVER=true
NOTIFICATION_SERVER_URL=http://<your notification server host>:8083
INNER_NOTIFICATION_SERVER_URL=$NOTIFICATION_SERVER_URL
3.4 添加存储后端的配置 (Pro)
Seafile 13.0 新增了 seaf-server 组件的存储后端SEAF_SERVER_STORAGE_TYPE。您可以删除变量或将其设置为空 (SEAF_SERVER_STORAGE_TYPE=) 以使用旧方法,即从 seafile.conf 确定存储后端。
本地存储(默认):
#本地存储(默认)
SEAF_SERVER_STORAGE_TYPE=disk
S3 存储:
#S3存储
SEAF_SERVER_STORAGE_TYPE=s3
S3_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 seasearch
S3_MD_BUCKET=<your metadata bucket name> # for metadata-server
S3_KEY_ID=<your-key-id>
S3_SECRET_KEY=<your-secret-key>
S3_USE_V4_SIGNATURE=true
S3_PATH_STYLE_REQUEST=false
S3_AWS_REGION=us-east-1
S3_HOST=
S3_USE_HTTPS=true
S3_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_VOLUME
cp /opt/seafile-data/seafile/conf/seafile.conf /opt/seafile-data/seafile/conf/seafile.conf.bak
cp /opt/seafile-data/seafile/conf/seahub_settings.py /opt/seafile-data/seafile/conf/seahub_settings.py.bak
cp /opt/seafile-data/seafile/conf/seafevents.conf /opt/seafile-data/seafile/conf/seafevents.conf.bak
4.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
注意:如果在 MySQL 中有大量的Activity,请先清除此表清理数据库。否则,数据库升级将需要很长时间。
从 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/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
#Seafile企业版(Github镜像源)
wget -O .env https://manual.seafile.com/12.0/repo/docker/pro/env
wget https://manual.seafile.com/12.0/repo/docker/pro/seafile-server.yml
wget 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服务
如果你已经部署了通知服务。通知服务现在已移至其自己的 Docker 镜像中,您需要根据通知服务文档重新部署。
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 服务
请参阅文档 “安装SeaDoc” 以使用 Seafile 安装 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.py
ALLOWED_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 启动容器。