记录一下Cloudreve云盘的搭建。

概述

Cloudreve云盘的优点:

  • 颜值可以;
  • 部署很简单,连docker都不需要(还没鼓捣清楚docker),数据库之类的不用管,傻瓜式操作即可。

缺点:

  • 功能比较简单,没什么插件扩展(其实也不需要);
  • 部分开源,有一个付费的版本包含更多功能,社区环境不太友好;
  • 只支持网页端和ios的app,不支持Windows和安卓(也不需要,因为有的开源网盘就算提供了app,UI也很简陋)

本地部署

Linux下直接下载压缩包到合适位置,解压执行即可完成本地部署,目前放置在~/cloudreve/目录下。

1
2
3
4
5
6
7
8
#解压获取到的主程序
tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz

# 赋予执行权限
chmod +x ./cloudreve

# 启动 Cloudreve
./cloudreve

启动之后,Cloudreve 默认会监听5212端口。(建议使用root账户启动,因为会生成相应的数据库文件等)

注意:

  • Cloudreve在首次启动时,会创建初始管理员账号,注意保管管理员密码,此密码只会在首次启动时出现。
  • 如果忘记初始管理员密码,需要删除同级目录下的cloudreve.db,重新启动主程序以初始化新的管理员账户。

进程守护

上述的启动方式不适合在网络服务中使用,下面是systemd的配置。

首先,配置如下文件

1
vim /usr/lib/systemd/system/cloudreve.service

输入如下内容(相对于官方模板,只需要修改可执行文件位置和工作目录)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[Unit]
Description=Cloudreve
Documentation=https://docs.cloudreve.org
After=network.target
After=mysqld.service
Wants=network.target

[Service]
WorkingDirectory=/home/fenglielie/cloudreve
ExecStart=/home/fenglielie/cloudreve/cloudreve
Restart=on-abnormal
RestartSec=5s
KillMode=mixed

StandardOutput=null
StandardError=syslog

[Install]
WantedBy=multi-user.target

然后是systemed的常用命令:

  • 更新配置 systemctl daemon-reload
  • 设置开机启动 systemctl enable cloudreve
  • 启动服务 systemctl start cloudreve
  • 停止服务 systemctl stop cloudreve
  • 重启服务 systemctl restart cloudreve
  • 查看状态 systemctl status cloudreve

注意,这样的启动方式即使是第一次启动,也不会显示管理员密码,因此至少需要在本地启动一次,然后拿到管理员账户密码,站点的具体配置需要在管理员面板进行。

网络配置

接下来是各个环节的网络配置,在Nginx建立一个站点cloud.fenglielie.top,完整的配置文件略,只需要注意:

  • SSL证书对应存放位置;
  • 代理转发到5212端口。

在设置完成后,检查配置并重新加载配置

1
2
nginx -t
nginx -s reload

然后是对cloud.fenglielie.top的域名解析,在腾讯云控制台中进行相应的设置即可。 这里对子域名cloud.fenglielie.top申请了免费的SSL证书以支持https访问,将SSL证书相关文件放置在对应位置。

测试一下应该可以顺利访问Cloud of Fenglielie

Cloudreve配置

接下来,通过管理员账户登录网盘,进入管理面板进行必要的配置。

进入参数设置/站点信息页面,修改站点的URL和名称,这里URL需要与实际站点一致,因为它被用于生成分享链接。(这个设置非常重要,因为关系到链接的生成)

需要添加页脚的备案信息:

1
2
3
4
5
6
<div style="text-align: center; margin-top: 20px; padding: 10px; background-color: #f1f1f1;">
<!-- 备案信息 -->
<p style="font-size: 12px; color: #666;">
备案号:<a href="https://beian.miit.gov.cn/" target="_blank">皖ICP备2023005611号-1</a>
</p>
</div>

在参数设置/注册与登录页面,因为这是部署的私人网盘,直接关闭新用户注册,邮箱验证等环节,只能通过管理员手动添加账户。

在用户组和用户界面,添加主用户,并修改用户组的权限,例如允许生成外链,允许压缩解压,设置容量等,目前设置的容量为2G。

还可以关注一下存储策略,包括上传的文件是否被重命名,以何种方式存储。

补充

云盘可以生成分享链接,可以控制分享链接的具体细节,例如指定链接的过期时间,或者在下载一次后链接立刻失效,或者对链接添加密码。 云盘还可以生成外链,外链比分享链接更本质更持久,可以用于搭建图床等,外链对应的资源可以通过curlwget下载(分享链接不支持)。

普通用户可以查看自己导出的分享链接,并且可以删除分享链接以终止分享。管理员可以查看当前所有用户的所有文件,以及所有用户的分享链接并管理。

在默认情况下,所有用户上传的文件都存储在cloudreve工作目录下的uploads/文件夹中,并且每一个文件都是直接可读的,除了文件名会添加一些特定含义的前缀后缀之外,并没有什么区别。如果希望在本地进行备份的话,只需要备份数据文件夹、数据库以及配置文件即可:

  • cloudreve.db
  • conf.ini
  • uploads/ 整个文件夹(可能很大)