
shiftinv/seafileSeafile Docker镜像旨在简化Seafile服务器的部署与更新流程。Seafile是一款开源的文件同步与共享服务器,通过Docker容器化部署,相比传统虚拟机更轻量、快速。该镜像包含Seafile团队推荐的最佳默认配置,7.0及以上版本采用多容器架构(分离MariaDB和Memcached服务),6.x版本则为单容器模式(集成数据库和缓存服务),适用于快速搭建私有云存储服务。
适用于个人用户、中小企业或团队搭建私有云存储服务,尤其适合需要简化服务器部署和维护流程的场景。可用于个人文件同步、团队协作共享、企业文档管理等需求,提供稳定高效的文件存储与访问解决方案。
自7.0版本起,镜像调整为多容器架构,将MariaDB和Memcached服务分离到独立容器。
以下为6.x版本的详细使用说明。
运行Seafile服务器容器:
shdocker run -d --name seafile \ -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ -v /opt/seafile-data:/shared \ -p 80:80 \ seafileltd/seafile:latest
首次初始化需等待几分钟,之后访问[***]即可打开Seafile Web界面。本地服务器的/opt/seafile-data目录会挂载到容器,日志和数据文件可在此目录下查看。
默认管理员账户为***,密码为asecret。可通过环境变量设置自定义账户:
shdocker run -d --name seafile \ -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ -e SEAFILE_ADMIN_EMAIL=*** \ -e SEAFILE_ADMIN_PASSWORD=your_secure_password \ -v /opt/seafile-data:/shared \ -p 80:80 \ seafileltd/seafile:latest
若忘记管理员密码,可添加新管理员账户后通过系统管理面板重置密码。
设置SEAFILE_SERVER_LETSENCRYPT=true可自动申请Let's Encrypt SSL证书:
shdocker run -d --name seafile \ -e SEAFILE_SERVER_LETSENCRYPT=true \ -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ -e SEAFILE_ADMIN_EMAIL=*** \ -e SEAFILE_ADMIN_PASSWORD=your_secure_password \ -v /opt/seafile-data:/shared \ -p 80:80 \ -p 443:443 \ seafileltd/seafile:latest
使用自定义SSL证书:
/opt/seafile-data/ssl,将证书和私钥放入该目录seafile.example.com.crt,私钥文件命名为seafile.example.com.key(替换为实际域名)配置文件位于shared/seafile/conf,可根据Seafile手册修改配置。修改后需重启容器:
shdocker restart seafile
shared/logs/seafile或本地/opt/seafile-data/logs/seafileshared/logs/var-log或本地/opt/seafile-data/logs/var-log(如Nginx日志在shared/logs/var-log/nginx/)确保容器运行中,执行以下命令:
shdocker exec -it seafile /opt/seafile/seafile-server-latest/reset-admin.sh
根据提示输入用户名和密码,即可创建新管理员账户。
/shared用于挂载共享卷,存储持久化数据:
/shared/db:MySQL数据库数据目录/shared/seafile:Seafile服务器配置和数据目录/shared/logs:日志目录
/shared/logs/var-log:容器内/var/log的挂载目录(如Nginx日志)/shared/logs/seafile:Seafile服务器进程日志(如seafile.log)/shared/ssl:SSL证书目录(默认不存在,需手动创建)升级到最新版本:
shdocker pull seafileltd/seafile:latest docker rm -f seafile docker run -d --name seafile \ -e SEAFILE_SERVER_LETSENCRYPT=true \ -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ -e SEAFILE_ADMIN_EMAIL=*** \ -e SEAFILE_ADMIN_PASSWORD=your_secure_password \ -v /opt/seafile-data:/shared \ -p 80:80 \ -p 443:443 \ seafileltd/seafile:latest
早期使用launcher脚本的用户,请参考从旧格式升级文档。
文件删除后,因重复数据删除机制,相关块不会立即移除。需运行垃圾回收清理未使用块:
shdocker exec seafile /scripts/gc.sh
社区版会停止Seafile服务,完成后自动重启;专业版支持在线垃圾回收。
使用以下命令排查问题:
sh# 查看容器日志 docker logs -f seafile # 进入容器内部 docker exec -it seafile bash






manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务