Nextcloud Server:自建私有云,数据自己说了算

Nextcloud 是一个开源的自托管云存储平台,可以理解为"自己搭一套 Dropbox/Google Drive"。项目在 GitHub 上拿到了 35k+ 的 Star:

正文顶部截图

README区域截图

Nextcloud Server 是整个 Nextcloud 生态的核心,负责后端的数据存储和管理。你可以把它部署在自己的服务器上,把文件、联系人、日历这些数据全部放在自己控制的环境里。

几个核心能力:

  • 文件同步:多设备之间自动同步,使用体验和商业网盘类似
  • 文件共享:生成分享链接,按权限控制协作者的访问范围
  • 应用扩展:官方提供 Calendar、Contacts、Mail、视频会议等应用,社区还有上百个第三方应用
  • 安全机制:支持端到端加密、两因素认证,项目还运营着 HackerOne 漏洞赏金计划

安装方式

Docker 是最快的上手路径:

docker run -d -p 8080:80 nextcloud/server

一行命令就能跑起来,浏览器访问 localhost:8080 完成初始化。

官方还提供了 All-in-One 镜像,把数据库和 Web 服务器打包在一起,适合不想折腾环境配置的场景。

手动部署的话,把代码放到 Apache 或 Nginx 的 Web 目录下,配好 PHP 还有 MySQL/PostgreSQL,通过浏览器访问安装向导就能完成配置。

零门槛的方式也有:在 Nextcloud 官网注册账号,直接使用第三方服务商提供的托管实例。

开发方面

项目后端用 PHP 编写,前端是 JavaScript 和 TypeScript。测试覆盖了 PHPUnit(单元测试)、Behat(集成测试)、Vitest(前端单元测试)、Playwright(端到端测试)四个层面。

贡献代码不需要签署 CLA,版权属于所有贡献者个人。代码协议是 AGPLv3,简单说就是修改后的版本如果对外提供服务,需要开源。

本地开发环境搭建参考官方文档,克隆仓库后执行 git submodule update --init 拉取子模块,就可以开始改代码了。


Nextcloud 在自托管云存储领域算是积累最久、生态最完整的方案。如果你在意数据主权,不想把文件存在别人的服务器上,可以花点时间了解一下。

态最完整的方案。如果你在意数据主权,不想把文件存在别人的服务器上,可以花点时间了解一下。

更多推荐