cloudreve搭建和挂载OneDrive云盘
参考自 https://docs.cloudreve.org/ 本文添加了更多的说明且更详细些
简介
cloudreve是一个极低成本的免费云盘管理系统,可以支持
本机 从机 七牛 OSS COS 又拍云 OneDrive S3
这些方式的云盘挂载
可以让您快速搭建起公私兼备的网盘系统
Cloudreve 在底层支持不同的云存储平台,用户在实际使用时无须关心物理存储方式。
你可以使用 Cloudreve 搭建个人用网盘、文件分享系统,亦或是针对大小团体的公有云系统。
链接
官方文档:https://docs.cloudreve.org/
GitHub:https://github.com/cloudreve/Cloudreve
下载地址:https://github.com/cloudreve/Cloudreve/releases
下载
默认使用最新版即可,支持Linux amd 和 arm,也支持windows版
安装
下载然后放到随便一个目录下,建议放到网址根目录
Linux下
#解压获取到的主程序 |
Windows下
直接解压获取到的 zip 压缩包,启动 cloudreve.exe 即可。
启动
Cloudreve 在首次启动时,会创建初始管理员账号,请注意保管管理员密码,此密码只会在首次启动时出现。如果您忘记初始管理员密码,需要删除同级目录下的cloudreve.db,重新启动主程序以初始化新的管理员账户。
这个cloudreve.db是数据库文件,没有特别需求请勿随意删除,除非里面只有一个没啥用的忘记密码的管理员账号
Cloudreve 默认会监听5212端口。你可以在浏览器中访问 http://服务器IP:5212 进入 Cloudreve。
(宝塔别忘了防火墙开启5212监听端口)
反代
反代以后就可以使用域名访问cloudreve了
Nginx反代:
location / { |
Apache反代:
<VirtualHost *:80> |
宝塔反代比较简单
反代地方写上 http://127.0.0.1:5212 后面会自动填写上 $host
screen后台守候
直接./cloudreve启动的话关闭ssh就会断开连接了,所以我们可以设置screen或者用systemd进程守护
screen -S cloudreve |
即可
进程守护
一般选用systemd即可
Systemd
编辑配置文件
vim /usr/lib/systemd/system/cloudreve.service |
将下文 PATH_TO_CLOUDREVE
更换为程序所在目录:
[Unit] |
# 更新配置 |
管理命令:
# 启动服务 |
Supervisor
首先安装supervisor,已安装的可以跳过。
# 安装 supervisor |
编辑全局配置文件:
sudo vim /etc/supervisord.conf |
将文件底部的[include] 分区注释符号;删除,加入新的配置文件包含路径:
[include] |
根据实际情况填写以下内容并保存:
[program:cloudreve] |
其中以下配置项需要根据实际情况更改:
- directory: Clopudreve 主程序所在目录
- command: Cloudreve 主程序绝对路径
- stderr_logfile: 错误日志路径
- stdout_logfile: 通常日志路径
通过全局配置文件启动supervisor:
supervisord -c /etc/supervisord.conf |
日后你可以通过以下指令管理 Cloudreve 进程:
# 启动 |
配置文件(非必要)
首次启动时,Cloudreve 会在同级目录下创建名为conf.ini的配置文件,你可以修改此文件进行一些参数的配置,保存后需要重新启动 Cloudreve 生效。
你也可以在启动时加入-c参数指定配置文件路径:
./cloudreve -c /path/to/conf.ini |
一个完整的配置文件示例如下:
[System] |
一般来说没有任何必要更改
使用MySQL
默认情况下数据库都保存在 cloudreve.db里面,所以这个文件很重要!要经常备份保存!
但是如果更习惯用MySQL的话,可以更改配置文件并重启cloudreve,注意仅支持大于等于5.7版本的MySQL
重要! 更换数据库配置后,Cloudreve 会重新初始化数据库,原有的数据将会丢失。
[Database] |
使用Redis
你可以在配置文件中加入 Redis 相关设置配置缓存
[Redis] |
重启 Cloudreve 后,可注意控制台输出,确定 Cloudreve 是否成功连接 Redis 服务器。
使用 Redis 后,以下内容将被 Redis 接管:
- 用户会话(重启Cloudreve后不会再丢失登录会话)
- 数据表高频记录查询缓存(如存储策略、设置项)
- 回调会话
- OneDrive 凭证
启用 HTTPS
宝塔可以直接忽略这里,直接用宝塔自己的申请SSL证书即可
CertPath 和KeyPath 分别为 SSL 证书和私钥路径。保存后重启 Cloudreve 生效
[SSL] |
从底层构建(非必要)
你不想使用默认的页面样式和图标等,可以自行构建文件
Cloudreve 项目主要由两部分组成:后端主仓库 cloudreve/Cloudreve,以及前端仓库 cloudreve/frontend。编译 Cloudreve 后端前,需要先构建assets 目录下的前端子模块,并使用statik嵌入到后端仓库。
环境
构建基于GO语言
https://golang.org/doc/install
2.Go Install的 地方选择Linux,上面会自动切换成 Download Go for Linux
点击下载以后,放到 /usr/local 目录
运行
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.16.6.linux-amd64.tar.gz |
会解压到 /usr/local/go 目录下
GO环境变量
然后添加 bin 路径到环境变量
如果安装在别的目录自行更改路径
export PATH=$PATH:/usr/local/go/bin |
然后在bash窗口输入 go version
应该就能返回相应的 go 程序版本号了,如果不行就证明环境变量添加有问题
Node.js
还需要下载Node.js https://nodejs.org/zh-cn/download/
下载 Linux 二进制文件(对应版本,amd的下x64的,arm下arm的)
解压到任意目录,官方建议 /usr/local/lib/nodejs
version后要写对应的版本号以及distro后的架构,请自行更改!如果不是对应的会找不到该文件
VERSION=v14.17.4 |
设置环境变量
# Nodejs |
测试是否配置完成,应该均有返回正确的版本号
node -v |
Yarn
如果安装了npm,也就是包含在Node.js里,可以直接
npm install --global yarn |
测试是否安装正确
yarn --version |
Debian/Ubuntu
也可以通过 Debian/Ubuntu自带仓库安装
sudo apt update && sudo apt install yarn |
设置环境变量
添加(路径请填写自己的Yarn安装路径和对应版本号)
export PATH="$PATH:/opt/yarn-[version]/bin" |
测试是否安装正确
yarn --version |
Statik
执行 go get github.com/rakyll/statik
安装statik 命令行工具;
开始构建
Clone
# 克隆仓库 |
构建静态资源
# 进入前端子模块 |
完成后,所构建的静态资源文件位于 assets/build 目录下。
你可以将此目录改名为statics 目录,放置在 Cloudreve 主程序同级目录下并重启 Cloudreve,Cloudreve 将会使用此目录下的静态资源文件,而非内置的。
嵌入静态资源
# 回到项目主目录 |
如果在嵌入时找不到statik 命令,请尝试执行
export PATH=$PATH:$(go env GOPATH)/bin |
编译项目
# 获得当前版本号、Commit |
首次编译时,Go 会下载相关依赖库,如果您的网络环境不佳,可能会导致这一步速度过慢或者失败。你可以使用 GOPROXY.IO 加快模块下载速度。
编译完成后,会在项目根目录下生成最终的可执行文件cloudreve
构建助手
你可以使用项目根目录下的构建脚本build.sh 快速完成构建、打包等操作,使用方法如下
./build.sh [-a] [-c] [-b] [-r] |
交叉编译
交叉编译前,你需要启用CGO ,正确安装目标平台的 GCC 工具链,并将CC 环境变量设定为对应平台的GCC 编译工具。
比如,在 Linux/AMD64 宿主平台上交叉编译 Windows/AMD64
export GOOS=windows |
Docker直接部署(可选)
Docker
你可以选择使用以下镜像部署:
xavierniu/cloudreve
littleplus/Cloudreve-Docker
awesome-builder/Cloudreve
储存策略选择
一般选OneDrive就是了,A1,A1P,E5 那么多选择呢
WebDav
Cloudreve的webdav一直有点bug也没有修复,如果有连接失败等各种问题,尝试使用cloudflare cdn套一个多级域名解决,比如 https://cdn.ednovas.cloud
离线下载
建议使用P3TREX大佬的一键安装包,方便好用
GitHub项目地址:
https://github.com/P3TERX/aria2.sh
他已经帮你配置好了
配置优点
- BT 下载率高、速度快
- 重启后不丢失任务进度、不重复下载
- 删除正在下载的任务自动删除未完成的文件
- 下载错误自动删除未完成的文件
- 下载完成自动删除控制文件(.aria2后缀名文件)
- 下载完成自动删除种子文件(.torrent后缀名文件)
- 下载完成自动删除空目录
- BT 下载完成自动清除垃圾文件(文件类型过滤功能)
- BT 下载完成自动清除小文件(文件大小过滤功能)
- 有一定的防版权投诉、防迅雷吸血效果
- 更好的 PT 下载支持
使用 Aria2 Pro Core 项目最新静态编译二进制文件
支持与 RCLONE 联动,更多扩展功能与玩法
支持新一代互联网协议 IPv6
定时自动更新 BT tracker 列表(无需重启)
不过目测自动更新 BT tracker 列表没那么好用,可以手动添加
安装
安装基础组件 wget, curl, ca-certificates
debian/ubuntu为例:
apt install wget curl ca-certificates |
显示如下,选择1并回车,再次开启该界面用 ./aria2.sh
,输入12并回车开启自动更新BT-Tracker
Aria2 一键安装管理脚本 增强版 [v2.7.4] by P3TERX.COM |
安装完成会返回aria2的信息,请记录下并保存
包含 IPv4地址, RPC端口(默认都是6800不会变),RPC密钥(每人不通,也可以自己打开配置文件修改该密钥)
然后进入cloudreve管理员面板的离线下载界面修改相关信息,点击测试连接检测是否匹配上了
还可以进入AriaNg链接查看你的下载任务和更多设置
注意!离线下载会先下载到VPS本地,再上传到云盘中,所以请控制同时下载数量并使用大存储VPS
更多关于aria2的说明以及rclone的使用说明参照这里(还没写lol)
自定义前端
默认情况下cloudreve会用内置的静态资源文件,如果想要个性化的,要将前端仓库编译后得到的build目录重命名为statics放到cloudreve同级目录下,重启cloudreve程序生效
挂载存储
这里用OneDrive作为例子(我也只用OneDrive)
管理员界面进入 存储策略,添加存储策略,选择对应的存储策略,这里我选OneDrive了
如果是OneDrive多账号的话,为了防止反复登录注销登录的繁琐操作,建议无痕浏览器打开添加存储策略
右键在新窗口打开AAD控制台(国内和国外OneDrive对应不同的地址,注意区分)
选择你要登录的OneDrive账号,输入密码登录
进入AAD控制台后选择左侧的App Registrations应用注册
填入对应的信息
复制创建的 Application ID 应用程序(客户端)ID 一会要用
再进入certificates & secrets 证书和密码 界面,创建一个新的Client Secret 程序密钥
最多只能创建两年的,想创建如图的自定时间密钥可以参考这里
复制黏贴对应的密钥和ID填入,点击添加即可
后面除了获取直链和离线下载,在线解压等有需求以外均默认即可
创建用户组
挂载存储顾名思义就是把云盘通过api等挂到cloudreve上面
那么我们挂上了以后要用户要怎么链接呢,就通过这个用户组
这个用户组可以分配存储策略,一个用户组可以分配给他多个存储空间(付费版功能)
然后还可以给这个用户组设置更多诸如
这样就可以给这个组添加你想要的用户了
添加用户
通过前端面板注册的用户都可以自动添加到这里来,并且自动分配到了默认的用户组
在这里可以管理和手动添加用户到不同用户组和切换用户组(注意文件丢失)
存储转移
这是cloudreve比较好用的一个功能了,就是选订目录后,把云盘中的目录和子目录所有文件自动移动到cloudreve可以显示的存储里面
(因为虽然都用的OneDrive存储,但是cloudreve不是onemanager,存储内容不互通,需要转移才可)
付费版
升级到捐助版,每年价格都在上涨哦,但若是没有特别需要的功能也没有必要付费
比较好用的一个付费功能也就是用户可以自行切换存储空间比较有用了
功能
捐赠版相对于普通版的新功能:
- 容量包购买
- 用户购买
- 积分充值
- 激活码(兑换用户组、容量包、积分)
- 创建付积分下载的分享
- 为同一用户组绑定多个存储策略,用户可自由切换
- 支持在存储策略之间转移文件
- 第三方支付对接(PAYJS、支付宝当面付)
- QQ登录
- 保存其他用户分享到自己网盘
- WebDAV 下为不同目录绑定不同存储策略
- 分享举报、处理
- 为新注册的用户指定初始文件
- 站点公告模块
- 注册邮箱后缀白名单/黑名单
更多详细图文介绍:https://forum.cloudreve.org/d/1587
付费方式
目前官方售价是 299RMB/域名,支持根域相同情况下授权多域名,如 www.abc.com,pan.abc.com
如果您之前使用社区版的 Cloudreve,在获取到捐助版后,您可以在保留数据的前提下升级到捐助版。
替换主程序
备份所有数据,将捐助版主程序、授权文件上传并替换到原先的社区版目录下。
执行升级脚本
使用 Cloudreve 的命令行参数,运行升级数据库脚本:
Linux:
./cloudreve --database-script UpgradeToPro |
Windows:
cloudreve.exe --database-script UpgradeToPro |
DEMO
目前ednovas云盘就是用的捐赠版