标签 cloudreve 下的文章

前言

在配置Cloudreve期间,发现VPS仅有的60G空间对于离线下载远远不够,因此决定将内网的一台机器作为Cloudreve的离线下载节点。

思路

在子节点上运行Cloudreve和Aria2,并通过frp将子节点服务暴露给公网,最后通过Cloudreve自带的功能进行子节点离线下载

Cloudreve 支持“从机离线下载”,您可以将离线下载任务分流至多台服务器处理,避免这些任务过多占用主机的资源。每个负责处理离线下载任务的节点需要运行一组 Cloudreve 和 Aria2 实例。您可以按照管理面板中的节点添加向导指引配置并添加新节点。

Requirements

  • 1 * 拥有公网ip的机器
  • 1 * 无公网ip的机器
  • frp软件
  • Cloudreve

准备步骤

内网机

安装Cloudreve

参见安装配置Cloudreve

安装frp

参见frp内网穿透教程

安装aria2

apt install aria2
# 创建aria2配置文件
mkdir -p /etc/aria2
nano /etc/aria2/aria2.conf

/etc/aria2/aria2.conf中添加

# 启用 RPC 服务
enable-rpc=true
# RPC 监听端口
rpc-listen-port=6800
# RPC 授权令牌,可自行设定
rpc-secret=<your token>

创建aria2用户

useradd aria2

编辑/etc/systemd/system/aria2c.service

[Unit]
Description= Aria2c Service
After=network.target

[Service]
Type=simple
User=aria2
ExecStart=/usr/bin/aria2c --conf-path=/etc/aria2/aria2.conf

[Install]
WantedBy=multi-user.target

创建离线下载临时文件夹,并设置权限防止报错

mkdir /offline_download
# 将所有者改为aria2用户并设置权限
chown -R aria2 /offline_download
chmod -R 777 /offline_download

配置frp

/etc/frp/frpc.ini

[common]
server_addr = 公网机ip
server_port = 7000

[https2http]
type = https
custom_domains = 访问内网服务用的域名

plugin = https2http
plugin_local_addr = 127.0.0.1:5212

# HTTPS 证书相关的配置
plugin_crt_path = 域名证书crt文件路径
plugin_key_path = 域名证书key文件路径
plugin_host_header_rewrite = 127.0.0.1
plugin_header_X-From-Where = frp
注:这里我公网机Cloudreve使用了https,则暴露内网机服务时必须也使用https

公网机

安装frp、Cloudreve略

配置frp

在服务端frp配置中添加用于访问内网Cloudreve的HTTPS端口

/etc/frp/frps.ini

[common]
bind_port = 7000
vhost_https_port = 访问用端口

配置Cloudreve

现在可以通过https://[公网机ip]:端口访问内网的Cloudreve了

打开公网机上的Cloudreve,点击管理面板离线下载节点接入新节点,打开添加新节点界面,复制生成的从机密钥

在内网机上Cloudreve配置文件中添加:

[Slave]
Secret = 从机密钥

并修改Mode字段的值为slave,重启Cloudreve

在管理面板从机地址中填入https://[公网机ip]:端口,并测试是否正常

下一步启用,在RPC授权令牌中填入aria2c.conf中的rpc-secret

RPC服务地址http://127.0.0.1:6800/

绝对路径填离线下载文件夹在内网机上的位置,如/offline_download

完成后测试aria2通信,检查是否正常

点击下一步设置节点名字,自此,离线下载节点添加完成

前言

自从申请到Office E5之后便有了容量高达5TB的OneDrive。心想怎能没有一个配套的网盘程序呢,于是便有了此文。

何为Cloudreve?

以下内容来自官方文档

Cloudreve 可以让您快速搭建起公私兼备的网盘系统。Cloudreve 在底层支持不同的云存储平台,用户在实际使用时无须关心物理存储方式。你可以使用 Cloudreve 搭建个人用网盘、文件分享系统,亦或是针对大小团体的公有云系统。

安装Cloudreve

本文以Debian 10 (buster),amd64架构,Cloudreve 3.5.3为准,Cloudreve安装在/opt/cloudreve

下载

前往Github Release页面根据系统架构下载最新版本

解压到/opt

mkdir -p /opt/cloudreve
tar -zxvf cloudreve_3.5.3_linux_amd64.tar.gz -C /opt/cloudreve
# 添加可执行权限
chmod +x /opt/cloudreve/cloudreve

获取初始管理员密码

cd /opt/cloudreve
./cloudreve

你应该看到如下图所示的界面

image-20220529184316860

配置systemd

新建/usr/lib/systemd/system/cloudreve.service

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

[Service]
WorkingDirectory=/opt/cloudreve
ExecStart=/opt/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

配置反代

现在可以通过http://[server_ip]:5212来访问Cloudreve了,若有通过HTTPS访问的需求,则需配置反代(以nginx为例)

在网站的server字段中加入:

location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://127.0.0.1:5212;

    # 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸
    # client_max_body_size 20000m;
}

配置Cloudreve

访问Cloudreve后台,使用初始用户密码登录

点击右上角的头像→管理面板,会询问是否修正站点URL,确认即可

image-20220529184746382

修改默认用户密码

在管理面板中点击用户,在右边的用户列表中修改即可

添加存储策略

管理面板→存储策略→添加存储策略,如下图所示

image-20220529185722835

各存储策略对比–Cloudreve

各存储策略的官方引导式配置已十分详细,这里不再赘述

杂项

忘记了密码?

/opt/cloudreve/cloudreve --database-script ResetAdminPassword

校准用户容量

/opt/cloudreve/cloudreve --database-script CalibrateUserStorage