搬瓦工部署 Seafile 企业文件共享平台完整教程
Seafile 是一款由国内团队开发的开源企业级文件同步和共享平台,以高性能的文件同步能力和出色的稳定性著称。相比 Nextcloud,Seafile 在文件同步速度和大文件处理方面表现更优。它支持文件版本管理、在线预览、团队资料库、加密存储等功能。本文将介绍如何在搬瓦工 VPS 上通过 Docker 快速部署 Seafile。
一、准备工作
1.1 系统要求
- 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
- 内存:至少 1GB,推荐 2GB 以上。
- 磁盘空间:程序约 500MB,文件存储按需准备。
- Docker:需提前安装,参考 Docker 安装教程。
1.2 创建目录
mkdir -p /opt/seafile/data
二、Docker Compose 部署
2.1 创建配置文件
cd /opt/seafile
cat > docker-compose.yml <<'EOF'
version: '3.8'
services:
db:
image: mariadb:11
container_name: seafile-mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: db_root_password
MYSQL_LOG_CONSOLE: "true"
volumes:
- ./data/mariadb:/var/lib/mysql
memcached:
image: memcached:1.6
container_name: seafile-memcached
restart: unless-stopped
entrypoint: memcached -m 256
seafile:
image: seafileltd/seafile-mc:latest
container_name: seafile
restart: unless-stopped
depends_on:
- db
- memcached
ports:
- "80:80"
volumes:
- ./data/seafile:/shared
environment:
DB_HOST: db
DB_ROOT_PASSWD: db_root_password
TIME_ZONE: Asia/Shanghai
SEAFILE_ADMIN_EMAIL: admin@example.com
SEAFILE_ADMIN_PASSWORD: your_admin_password
SEAFILE_SERVER_LETSENCRYPT: "false"
SEAFILE_SERVER_HOSTNAME: your-domain.com
EOF
请将数据库密码、管理员邮箱、管理员密码和域名替换为你的实际信息。
2.2 启动服务
docker compose up -d
首次启动需要初始化数据库,大约需要 1-2 分钟。查看启动日志:
docker compose logs -f seafile
2.3 访问界面
启动完成后,浏览器访问 http://你的服务器IP,使用配置中设置的管理员邮箱和密码登录。
三、基本使用
3.1 创建资料库
Seafile 使用「资料库」(Library)来组织文件。登录后点击「新建资料库」,可以创建:
- 普通资料库:标准文件存储空间。
- 加密资料库:客户端加密,服务端无法读取内容。
3.2 上传文件
进入资料库后,可以通过 Web 界面拖拽上传文件或文件夹,也可以使用桌面客户端进行自动同步。
3.3 文件分享
右键点击文件或文件夹,选择「分享」可以生成分享链接。支持设置密码保护、过期时间和访问权限(查看/下载/上传)。
四、客户端同步
4.1 桌面客户端
Seafile 提供 Windows、macOS 和 Linux 的桌面同步客户端。安装后输入服务器地址和账号信息,选择需要同步的资料库即可实现自动双向同步。Seafile 的同步算法经过优化,对大文件和大量小文件都有很好的处理能力。
4.2 移动客户端
iOS 和 Android 均有官方客户端,支持文件浏览、下载、上传和相册自动备份功能。
4.3 WebDAV 访问
Seafile 支持 WebDAV 协议,地址为 http://你的服务器IP/seafdav。可以配合第三方文件管理器或应用使用。
五、Nginx 反向代理与 HTTPS
生产环境建议使用 Nginx 反向代理并启用 HTTPS。首先将 Seafile 端口改为非 80 端口:
ports:
- "127.0.0.1:8000:80"
然后配置 Nginx:
server {
listen 443 ssl http2;
server_name drive.example.com;
ssl_certificate /etc/letsencrypt/live/drive.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/drive.example.com/privkey.pem;
client_max_body_size 0;
proxy_read_timeout 1200s;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $http_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-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_request_buffering off;
}
}
六、高级功能
6.1 文件版本管理
Seafile 自动保留文件的历史版本。右键点击文件选择「历史」即可查看和恢复之前的版本。管理员可以在系统设置中配置历史版本保留天数。
6.2 回收站
删除的文件会进入回收站,默认保留 30 天。在资料库设置中可以查看和恢复已删除的文件。
6.3 文件锁定
对于需要防止多人同时编辑的文件,可以使用文件锁定功能。锁定后其他用户只能查看不能修改。
6.4 在线预览与编辑
Seafile 内置文档预览功能,支持常见的办公文档、图片和视频。如需在线编辑,可以集成 OnlyOffice 或 Collabora Online。
七、用户与组管理
管理员可以在「系统管理」中进行以下操作:
- 创建和管理用户账户,设置存储配额。
- 创建组(部门),方便团队共享资料库。
- 查看系统日志和用户操作记录。
- 配置系统参数和安全策略。
八、维护与备份
8.1 更新 Seafile
cd /opt/seafile
docker compose down
docker compose pull
docker compose up -d
8.2 备份数据
# 备份数据库
docker exec seafile-mysql mariadb-dump -u root -pdb_root_password --all-databases > seafile-db.sql
# 备份 Seafile 数据
tar -czf seafile-data-backup.tar.gz -C /opt/seafile/data seafile/
8.3 垃圾清理
# 清理已删除资料库的数据块
docker exec seafile /opt/seafile/seafile-server-latest/seaf-gc.sh
总结
Seafile 是搭建企业级文件共享平台的优秀选择,在同步速度和稳定性方面表现突出。在搬瓦工 VPS 上部署后,团队成员可以方便地共享文件、协同办公。如果你更偏好全功能套件,也可以参考 Nextcloud 私有云盘教程。选购搬瓦工 VPS 请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的循环折扣。如遇问题,可前往 搬瓦工官网 提交工单。