2023-11-06
探索与发现
00

目录

第一阶段(2014 年以前)
第二阶段(2016 年左右)
第三阶段(2018 年左右)
现阶段 (2020 年后-至今)

第一阶段(2014 年以前)

在最开始的时候使用的是 Seafile。

它有个客户端,还能同步,看起来很像坚果云。但是那时候的服务器内存性能不够,跑了这个十分勉强,完全干不了别的。如果现在来看这些不是问题,但是后面第二阶段我会说明为啥我还是没用用这个东西。

然后是 Owncloud,这是 Nextcloud 这个分叉的原始分支,现在也存在。

这个东西当时我觉得很厉害,同样有个客户端可以同步,还有一大堆插件可以折腾。但是莫名奇妙的报错总是能在 LOG 里面看到,我也不懂 PHP,这些报错看起来好像可有可无,因为我在使用过程中好像也没有因为这些报错而丢失数据。但是如果我传送超级大的文件,备份足够多的文件,它的性能只是因为我一个人在用,就感觉完全跟不上,因为在使用网页端上传的时候他不会把文件切分,而是直接传到 nginx 的 temp 目录,导致最后看似 100% 上传完了其实还要等 nginx cp 文件到最终的地方。

然后试用了 Pydio(这个东西在之前同样是使用 PHP 写的,现在已经使用 Go 重构了),由于也是 PHP 写的,使用的时候也总是能看到一些 PHP 的莫名奇妙的报1错,当然它的报错会直接导致文件上传失败。

所以在这个阶段,Nextcloud 是我权衡下来的首选方案。

Nextcloud 有权限实现,支持插件,支持 WEBDAV,支持 S3,支持 Onlyoffice,支持 LDAP,实现了很多花里胡哨的东西。但是用起来我就是觉得有问题(或许是因为我对 PHP 的偏见),所以我一直在尝试更换掉它。

第二阶段(2016 年左右)

从这个时间开始,我弃用了机械硬盘,使用了 9 个 SSD 进行 RAIDZ2,此时开始,我在尝试各种方案的时候可以更快的搬迁数据。

然后就是 KOD 那个花里胡哨的产品,也是 PHP 写的,简单的使用了一下,那时候这个产品没有客户端,不能实现同步,这不能满足我的使用需求。现在这个产品支持了客户端,但是是不还是 PHP,我没有了解。

然后出现了 Cloudreve,这个东西是个学生写的,他一开始也是 PHP 写的,支持 WebDAV。界面写的很好看,乱七八糟的报错比较少,而且那些报错我能看得懂,不是 Nextcloud 那样莫名奇妙(你需要看源码才能搞懂的)。然后我就用 Goodsync + Cloudreve 替换了我的 Nextcloud。

值得一提的是 Cloudreve 这个作品,后续使用了 Go 重构,作者的团队规模似乎还是一个人,支持了更多的对象存储以及 S3。但是它实现的 S3 对接,兼容性有问题,我偶尔会关注一下情况并测试,但是我可能最终不会用这个东西,因为 Cloudreve 是盈利不明确的产品,未来作者可能会弃坑。

第三阶段(2018 年左右)

这的时间我的数据量有点多起来了,比较方便的扩容是我比较重要的诉求。Cloudreve 在最开始阶段,只能支持少数的几个公有云对象存储产品。

因此我又用回了 Seafile,因为它支持 S3,但是我同时在寻找另外的产品。这主要是因为 Seafile 的 Bug 十分多,但是也不至于不能用,每次升级总是会有问题。他们的产品是开源的,但是可能基于商业模式考虑,社区反馈的问题不怎么修,有很多论坛的人称呼他们的产品是假开源。比如 S3 也只是支持 V2 签名。而不支持 V4 签名。

现阶段 (2020 年后-至今)

由于一直在寻找另外的产品替代 Seafile,在某一次 Seafile 的升级故障后尝试在搜索解决方案时,Pydio Cells 在 Seafile 的 Github 仓库中的某个 isuse 下面被讨论到,那几个回复者称自己迁移到了 Pydio Cells。然后重新去看 Pydio 发现他们的新产品 Pydi Cells 使用 Go 重构了。

Pydio Cells 支持 V4 签名的 S3,支持权限,支持客户端同步,支持 Webdav。不过其社区版有一些限制,不支持文档预览,不支持 LDAP,不支持二步验证,好在这些问题对我来说都能有一定的应对手段。

现在我用的就是这个东西。用了 3 年多了,暂时没有动机更换这个产品。

此外市面上还有一些其他的产品,我也观察过,但是没有写在上面。

本文作者:XiaFan

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!