VPS 搭建私有云盘 (2025) - NextCloud vs Seafile 全方案
更新时间:2025-12-26 23:37:28

在百度网盘限速 100KB/s、Google Drive 国内打不开、Dropbox 同步慢如蜗牛的时代,越来越多人开始转向自建私有云盘。
用自己的 VPS 搭建网盘,意味着:
- 没有容量限制:只要硬盘够大,存多少都行。
- 没有速度限制:上传下载跑满带宽。
- 100% 隐私可控:你的文件只有你能看到。
本文将带你对比两大主流开源网盘方案 NextCloud 和 Seafile,并提供开箱即用的 Docker 部署配置。
| 特性 | NextCloud | Seafile |
|---|---|---|
| 定位 | 功能全家桶(文件+日历+通讯录+会议) | 专注文件同步 |
| 界面 | 类似 Google Drive,功能丰富 | 简洁高效,偏工具风格 |
| 同步速度 | 一般 | 极快(块级同步技术) |
| 资源占用 | 较高(建议 2 核 2G 以上) | 低(1 核 1G 可跑) |
| 插件生态 | 极其丰富(Office 套件、Markdown 编辑器等) | 较少 |
| 适用场景 | 想替换 Google Workspace 的全能用户 | 只想要一个稳定快速的文件同步服务 |
总结:
- 想要一站式办公套件 → NextCloud
- 只想安安静静同步文件 → Seafile
创建目录并进入:
mkdir nextcloud && cd nextcloud
创建 docker-compose.yml:
services:
db:
image: mariadb:10.11
container_name: nextcloud-db
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_root_password
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: your_db_password
volumes:
- db_data:/var/lib/mysql
app:
image: nextcloud:stable
container_name: nextcloud-app
restart: always
ports:
- "8080:80"
environment:
MYSQL_HOST: db
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: your_db_password
volumes:
- nextcloud_data:/var/www/html
depends_on:
- db
volumes:
db_data:
nextcloud_data:
启动服务:
docker compose up -d
访问 http://你的IP:8080,按提示完成初始化即可。
创建目录并进入:
mkdir seafile && cd seafile
创建 docker-compose.yml:
services:
db:
image: mariadb:10.11
container_name: seafile-db
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_root_password
MYSQL_LOG_CONSOLE: "true"
volumes:
- db_data:/var/lib/mysql
memcached:
image: memcached:1.6
container_name: seafile-memcached
restart: always
entrypoint: memcached -m 256
seafile:
image: seafileltd/seafile-mc:11.0-latest
container_name: seafile
restart: always
ports:
- "8081:80"
environment:
DB_HOST: db
DB_ROOT_PASSWD: your_root_password
SEAFILE_ADMIN_EMAIL: [email protected]
SEAFILE_ADMIN_PASSWORD: your_admin_password
SEAFILE_SERVER_HOSTNAME: seafile.yourdomain.com
volumes:
- seafile_data:/shared
depends_on:
- db
- memcached
volumes:
db_data:
seafile_data:
启动服务:
docker compose up -d
访问 http://你的IP:8081,使用你设置的管理员邮箱和密码登录。
无论你选择哪个方案,直接用 HTTP 裸奔是极不安全的。必须配置 HTTPS。
最简单的方式:使用 Caddy 作为反向代理,它会自动申请 Let's Encrypt 证书。
创建一个 Caddyfile:
cloud.yourdomain.com {
reverse_proxy localhost:8080 # NextCloud 用 8080, Seafile 用 8081
}
然后安装并运行 Caddy:
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
sudo caddy run
- NextCloud:iOS/Android 都有官方 App,搜索 "Nextcloud" 即可。
- Seafile:同样有官方 App,搜索 "Seafile"。还支持 SeaDrive 客户端,可以像本地硬盘一样挂载云端文件。
自建网盘是 VPS 最实用的玩法之一。选择 NextCloud 还是 Seafile,取决于你更看重"功能全面"还是"轻量快速"。无论哪个,都能让你彻底告别第三方网盘的限速和隐私担忧。
Pro Tip: 如果你的 VPS 存储空间不够,可以通过 Rclone 将 S3、OneDrive 或 Google Drive 挂载为外部存储,实现"无限容量"的混合云架构。