Seafile:开源文件同步与云盘系统服务器部署及客户端同步指南
一、项目官方信息
| 项目 | 信息 |
|---|---|
| GitHub 仓库 | https://github.com/haiwen/seafile-server |
| 官网 | https://www.seafile.com |
| 官方文档 | https://manual.seafile.com |
| 开源协议 | GPL(详见 LICENSE) |
| 主要语言 | C(约 75.8%,服务器脚本与核心) |
| Star 数 | 约 548 |
Seafile 是一套开源的文件同步与协作云盘系统:把文件组织成"资料库(library)",在多台设备之间安全同步,并支持 Web 端在线预览、分享链接、权限管理。它强调数据加密、性能与自托管。
说明:
seafile-server仓库主要存放服务器端的安装脚本与部署文件;Seafile 完整生态包含服务器端、Web 端 Seahub、以及各平台同步客户端。

二、官方图片
上图为 Seafile 服务器仓库在 GitHub 上的社交预览图。
三、环境要求
- 服务端:Linux(官方支持 Ubuntu/Debian/CentOS);推荐用 Docker。
- 依赖:MySQL/MariaDB 或 SQLite、Python 运行环境(Docker 镜像已内置)。
- 客户端:Windows / macOS / Linux / Android / iOS 同步客户端,或直接用 Web 端。
- 内存建议 1GB 以上;磁盘用于存放资料库。
四、部署步骤
方式一:Docker Compose(官方推荐)
官方提供 Docker 镜像与 compose 配置,把服务器端、Seahub(Web 端)、数据库一键拉起:
# 拉取官方 seafile docker compose 配置后启动
docker compose up -d
启动后:
- Seahub(Web 管理界面)默认监听
8000; - 文件服务(seaf-dav/文件下载)默认监听
8082。
首次访问 Web 端会要求创建管理员账号(邮箱 + 密码)。
方式二:Linux 脚本安装
解压官方 seafile-server_*.tar.gz 后运行初始化脚本:
cd seafile-server-<version>
./setup-seafile.sh
脚本会引导你填写服务器地址、资料库存储目录、管理员等,完成后启动:
./seafile.sh start
./seahub.sh start
验证
浏览器访问 http://服务器IP:8000,用创建的管理员账号登录,进入 Seafile Web 界面。
五、使用方法
- 资料库(Library):在 Web 端或客户端新建资料库,作为同步的最小单元。
- 创建账号:管理员在 Seahub 后台添加用户,用户用邮箱注册。
- Web 端:上传/下载文件、在线预览文档/图片、新建分享链接。
- 同步客户端:在 Windows/Mac/Linux 安装 Seafile 客户端,登录同一账号,选择本地文件夹与服务器资料库双向同步。
- 分享:把文件夹/文件生成对外分享链接(可设密码、过期时间)。
- 权限:管理员与用户可对资料库设置读写权限、内部共享。
- HTTPS:生产环境在前面放 Nginx 反向代理并配置 SSL,绑定域名。
六、常见问题 FAQ
-
Web 端和文件服务分别是哪个端口? Seahub Web 端默认
8000,文件/API 服务默认8082;生产用 Nginx 反代并上 HTTPS。 -
第一次怎么建管理员? 首次访问 Web 端会要求创建管理员账号;脚本方式也可用
seahub.sh创建。 -
支持哪些客户端? Windows、macOS、Linux、Android、iOS 都有官方同步客户端,也可直接用 Web 端。
-
怎么用 Docker 部署? 用官方提供的 docker-compose 配置,
docker compose up -d一键拉起全部服务。 -
数据存在哪里? 资料库文件落在配置的数据目录;建议定期备份该目录与数据库。
-
Seafile 和企业版有什么区别? 开源社区版已包含同步、分享、权限等核心功能;企业版额外提供高级管理与技术支持。