上期讲了可道云的配置,这期来讲讲 Seafile。
为什么有了飞牛,我仍然要配置可道云或者 Seafile?
首先简单说明一下“网盘”与同步盘的区别。我的理解是,网盘更加类似于百度网盘,主要作用是存储使用频次少、容量大、文件长期不改变的文件,例如视频、音频、软件安装包等等。一般用法是,需要的时候下载下来,使用完就删掉,或者是修改之后重新上传上去。
而同步盘则更加适用于文件小,但使用频次和修改频次极高的场景,例如文档编写,往往几十秒就要保存一次。或者是修改之后,我希望无缝衔接到另外一台设备使用,而不用我手动去一个个、一次次地上传下载。
现阶段的 NAS,如果说只看它系统自带的文件系统,其实更偏向于网盘的功能。这对于办公的话是不太方便的,因此许多人应该都有同步盘的需求。
像群晖这样优秀的 NAS 系统,则在本身提供网盘功能的基础上,使用 Synology Drive 套件补足了同步盘的功能,这是非常值得学习的。但目前像他这样做的太少,我们只能自己想办法去实现同步盘的功能。
而可道云与 Seafile 都是非常优秀的同步盘解决方案。但是它们的侧重点仍然有所不同。可道云还是更偏向网盘那一类,是在网盘的基础上做了一个半成品的同步功能。但他的云办公功能做得很好,非常适合文档协作。如果没有强烈的本地文件存储需求的话,用可道云是不错的。并且可道云提供了一个 teamOS 操作系统,可以很简单地进行安装。
Seafile 则更加偏向于同步盘,使用体验与 Onedrive、群晖 Drive 非常像,并且我觉得比群晖 drive 做得更加优秀,并且分块存储地特性也保障了文件的安全性。但缺点是,它的安装过程非常复杂,需要手动配置,并且需要一定的技术基础。尤其是在配置 SSL 方面,官方文档写得不明不白,需要自己摸索。
不过好消息是你看到了我这篇文章,我可以带你避免更多的坑。
安装 Seafile
我们采用 docker compose 的形式部署专业版系统。
首先,新建一个 seafile-pro 文件夹,以后所有的数据都会存放在这里。
然后下载 docker compose 文件,一共有四个文件,分别是:
- .env:环境变量文件,用于配置 Seafile 的各种参数。
- seadoc.yml:Seafile 的文档服务,用于提供 Seafile 的文档。
- seafile-server.yml:Seafile 的服务,用于提供 Seafile 的服务。
- caddy.yml:Caddy 的服务,用于提供 HTTPS 服务。
|
|
然后修改 .env 文件,官方文档中已经对需要注意的配置项做了详细的说明,我们主要注意以下这些项:
由于我把所有的数据都放在 seafile-pro 这个项目文件夹下面,因此我把所有的 /opt
都改为了./data
,用于持久化数据。
如果服务要上公网的话,用 http 是不合适的,因此我们就不配置 http 了,一开始就直接上 https。因此 SEAFILE_SERVER_HOSTNAME 填写域名,后面就分别以 seafile.example.com
为例。SEAFILE_SERVER_HOSTNAME 填写 https。
https 证书配置
中文的安装手册里面没有 https 的内容,需要在英文文档查看。
首先下载你申请的域名证书,把他们改名后放到以下位置。
|
|
修改 seafile-server.yml
文件。
|
|
然后直接docker compose up -d
即可。
此外,如果你先用了 http,后续想要更换为 https 的话,还需要修改一下seahub_settings.py
,文件目录是./data/seafile-data/seafile/conf/seahub_settings.py
把所有的 http://seafile.example.com 更改为 https://seafile.example.com。然后启动
启动后 502 错误
表明已经成功了,等待几分钟初始化即可。