0%

Cloudreve —— 年轻人的第一个私人云盘

一周前在一台瘦客户机升腾C92上借助Cloudreve搭建了一个私人云盘来玩一玩(〃´∀`),今天来记录一下。

Cloudreve特性

  • ☁️ 支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive (包括世纪互联版) 作为存储端
  • 📤 上传/下载 支持客户端直传,支持下载限速
  • 💾 可对接 Aria2 离线下载
  • 📚 在线 压缩/解压缩、多文件打包下载
  • 💻 覆盖全部存储策略的 WebDAV 协议支持
  • ⚡ 拖拽上传、目录上传、流式上传处理
  • 🗃️ 文件拖拽管理
  • 👩‍👧‍👦 多用户、用户组
  • 🔗 创建文件、目录的分享链接,可设定自动过期
  • 👁️‍🗨️ 视频、图像、音频、文本、Office 文档在线预览
  • 🎨 自定义配色、黑暗模式、PWA 应用、全站单页应用
  • 🚀 All-In-One 打包,开箱即用

Cloudreve部署

首先需要从Cloudreve项目的GitHub地址获取适用于目标服务器的操作系统类型与CPU架构的Cloudreve程序;我的瘦客户机升腾C92的CPU架构为64位的x86,我选用的操作系统是Debian 10,Cloudreve版本为3.2.1。

wget https://github.com/cloudreve/Cloudreve/releases/download/3.2.1/cloudreve_3.2.1_linux_amd64.tar.gz

下载完成后,在当前路径下新建一个目录,把压缩包移动至该目录内再解压和运行,这样可以避免当前路径在将来变得乱糟糟的(((゚д゚)))。

新建一个目录,命名为Cloudreve

mkdir Cloudreve

将压缩包移动至目录Cloudreve

mv cloudreve_3.2.1_linux_amd64.tar.gz Cloudreve

进入目录Cloudreve

cd Cloudreve

解压压缩包;

tar -zxvf cloudreve_3.2.1_linux_amd64.tar.gz

给可执行文件cloudreve授予执行权限;

chmod +x ./cloudreve

Cloudreve默认监听端口5212,部分操作系统可能会默认禁用该端口,需要予以放行;我在Debian 10下使用防火墙管理工具UFW启用5212端口;

ufw allow 5212

运行Cloudreve;

./cloudreve

这样就能在浏览器上访问<服务器IP>:5212来使用Cloudreve。

进程守护

使用文本编辑器vim编辑配置文件;

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

添加如下内容:(需要将文本中的PATH_TO_CLOUDREVE替换为可执行文件cloudreve所在的目录)

[Unit]
Description=Cloudreve
Documentation=https://docs.cloudreve.org
After=network.target
After=mysqld.service
Wants=network.target

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

StandardOutput=null
StandardError=syslog

[Install]
WantedBy=multi-user.target

更新配置;

systemctl daemon-reload

启动服务;

systemctl start cloudreve

设置开机启动。

systemctl enable cloudreve

管理命令

  • 启动服务

    systemctl start cloudreve
  • 停止服务

    systemctl stop cloudreve
  • 重启服务

    systemctl restart cloudreve
  • 查看状态

    systemctl status cloudreve

内网穿透

如果把Cloudreve直接部署在公网服务器,则可直接在公网环境下访问,但因为我是部署在局域网环境下的瘦客户机上,所以如果需要在公网环境下访问,就需要将该瘦客户机的IP与Cloudreve监听的端口映射到一台公网服务器上,通过访问该公网服务器即可访问到局域网下的瘦客户机;常用的内网穿透工具有ngrok、frp、NATAPP等,考虑到访问速度和开箱即用,我选用的是在国内运营的NATAPP

账号注册与方案选购

NATAPP提供多种方案的服务,按照自己的实际需求来选购就可以了,反正我现在只是拿来玩一玩( ~’ω’)~,就选用免费隧道(注册用户)

隧道协议选择Web本地端口设置为Cloudreve监听的端口,若是默认监听端口,即为5212

客户端安装与运行

在自己的服务器上新建一个目录,我将其命名为NATAPP

进入目录NATAPP,下载NATAPP的客户端natapp和本地配置文件config.ini

wget http://download.natapp.cn/assets/downloads/clients/2_3_9/natapp_linux_amd64/natapp
wget http://download.natapp.cn/assets/downloads/config.ini

使用文本编辑器vim编辑config.ini

vim config.ini

在NATAPP官网的会员中心我的隧道下即可找到刚才选购的隧道方案的authtoken并复制粘贴到本地配置文件config.iniauthtoken一项中;

为可执行文件natapp授予执行权限;

chmod a+x natapp

运行客户端;

./natapp

在列出的信息中,Forwarding一项给出的域名即为内网服务器的5212端口的公网映射;在局域网或公网下访问该域名即可访问已在局域网下部署的Cloudreve。

至此,年轻人的第一个私人云盘已初步部署完毕,可以投入实际使用了(゜▽^*))。


参考资料

Cloudreve项目的GitHub地址

Cloudreve官方文档

NATAPP1分钟快速新手图文教程

使用本地配置文件config.ini