Cloudreve 简介
Cloudreve 是一个基于多存储后端的云存储管理套件,旨在为用户提供一个简单、易用且高效的私有云盘解决方案。它支持多种存储后端,包括本地存储、OneDrive、阿里云OSS、腾讯云COS等,使得用户可以根据自己的需求灵活选择存储方案。Cloudreve 提供了文件管理、分享、在线预览等功能,并且支持多用户管理,非常适合个人和团队使用。
特点概览:
- 多存储后端支持:支持多种存储服务,包括本地存储、OneDrive、阿里云OSS等。
- 用户管理:支持创建多个用户,方便团队协作。
- 文件分享:支持生成文件和文件夹的分享链接。
- 在线预览:支持多种文件格式的在线预览,如图片、视频、Office文档等。
- WebDAV 支持:可以通过 WebDAV 协议访问和管理文件。
- API 接口:提供丰富的 API 接口,方便开发者进行二次开发。
- 多语言支持:支持多种语言,满足不同用户的需求。
Cloudreve 的设计理念是简单、高效,它不仅提供了一个易于使用的界面,还通过模块化的设计,使得扩展和维护变得更加简单。无论是个人用户还是企业用户,都可以根据自己的需求,快速部署和使用 Cloudreve。
在接下来的部分,我们将详细介绍如何在 Ubuntu 系统上部署 Cloudreve,包括基础部署和一些高级用法。
环境准备
服务器准备
必要前提:
- 一台有公网 IP 的 Linux 服务器,可以选择腾讯云,阿里云,或者雨云等。
- 本文以 雨云 为例,新用户注册有优惠。
你可以点击此链接 https://www.rainyun.com/NTEzMTM1_?s=blog 注册账号。
注册完毕后,按照以下步骤创建一台自己的云服务器。
创建云服务器
点击 云产品 → 云服务器 → 立即购买。
选择距离你较近的区域,以保证低延迟。
带宽建议选择上传和下载大于 30M 即可,网盘的上传和下载速度取决于你所选的带宽大小。
处理器和内存建议选择 2 核 4G。
选择 Ubuntu 22.04 版本,并勾选预装 Docker,接下来的教程会用到 Docker。
最后点击 立即购买 ,并按照提示进行购买。
购买后等待机器部署完毕,点击购买的服务器,进入管理面板,找到远程连接相关信息。
使用 PowerShell 进行远程连接。
输入 ssh root@你的服务器IP
例如 ssh root@154.9.227.239
回车后,首次需要输入 yes
,再次回车后即可登录服务器。
到此为止,我们的云服务器就创建好了。
基础部署教程
在这一节中,我们将详细介绍如何在 Ubuntu 系统上部署 Cloudreve。请确保你已经安装了 Ubuntu 操作系统,并且拥有足够的权限来执行安装和配置操作。
获取 Cloudreve
首先,你需要从 Cloudreve 的 GitHub Release 页面获取已经构建打包完成的主程序。每个版本都提供了常见系统架构下可用的主程序,命名规则为 cloudreve_版本号_操作系统_CPU架构.tar.gz
。
对于 Ubuntu 系统,你应该下载对应架构的压缩包,例如 cloudreve_3.8.3_linux_amd64.tar.gz
。
bash
mkdir -p /home/cloudreve
cd /home/cloudreve
curl -L "https://github.com/cloudreve/Cloudreve/releases/download/3.8.3/cloudreve_3.8.3_linux_amd64.tar.gz" -o cloudreve_3.8.3_linux_amd64.tar.gz
解压并启动 Cloudreve
下载完成后,你需要解压压缩包,并赋予执行权限,然后启动 Cloudreve。
bash
# 解压 Cloudreve
tar -zxvf cloudreve_3.8.3_linux_amd64.tar.gz
# 赋予执行权限
chmod +x ./cloudreve
# 启动 Cloudreve
./cloudreve
创建初始管理员账号
Cloudreve 在首次启动时,会创建初始管理员账号。请保管好管理员密码,此密码只会在首次启动时出现。如果你忘记了初始管理员密码,需要删除同级目录下的 cloudreve.db
文件,重新启动主程序以初始化新的管理员账户。
访问 Cloudreve
Cloudreve 默认会监听 5212
端口。你可以通过浏览器访问 http://服务器IP:5212
进入 Cloudreve 的管理界面。
输入账号以及密码后登录。
上传文件只需要将文件拖到窗口后放置即可。
进入管理后台。
可以经行一些基础设置。
以上步骤完成后,Cloudreve 的基础部署就完成了。你可以开始使用 Cloudreve 进行文件管理、分享等操作。在下一节中,我们将介绍一些高级用法,包括进程守护等配置。
进程守护(可选)
以下两种方式可任选其一。
Systemd
bash
# 编辑配置文件
vim /usr/lib/systemd/system/cloudreve.service
将下文 PATH_TO_CLOUDREVE
更换为程序所在目录:
bash
[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
bash
# 更新配置
systemctl daemon-reload
# 启动服务
systemctl start cloudreve
# 设置开机启动
systemctl enable cloudreve
管理命令:
bash
# 启动服务
systemctl start cloudreve
# 停止服务
systemctl stop cloudreve
# 重启服务
systemctl restart cloudreve
# 查看状态
systemctl status cloudreve
Supervisor
首先安装supervisor
,已安装的可以跳过。
bash
# 安装 supervisor
sudo yum install python-setuptools
sudo easy_install supervisor
# 初始化全局配置文件
sudo touch /etc/supervisord.conf
sudo echo_supervisord_conf > /etc/supervisord.conf
编辑全局配置文件:
bash
sudo vim /etc/supervisord.conf
将文件底部的[include]
分区注释符号;
删除,加入新的配置文件包含路径:
c
[include]
files = /etc/supervisor/conf/*.conf
创建 Cloudreve 应用配置所在文件目录,并创建打开配置文件:
bash
sudo mkdir -p /etc/supervisor/conf
sudo vim /etc/supervisor/conf/cloudreve.conf
根据实际情况填写以下内容并保存:
bash
[program:cloudreve]
directory=/home/cloudreve
command=/home/cloudreve/cloudreve
autostart=true
autorestart=true
stderr_logfile=/var/log/cloudreve.err
stdout_logfile=/var/log/cloudreve.log
environment=CODENATION_ENV=prod
其中以下配置项需要根据实际情况更改:
directory
: Cloudreve 主程序所在目录command
: Cloudreve 主程序绝对路径stderr_logfile
: 错误日志路径stdout_logfile
: 通常日志路径
通过全局配置文件启动 supervisor:
bash
supervisord -c /etc/supervisord.conf
日后你可以通过以下指令管理 Cloudreve 进程:
bash
# 启动
sudo supervisorctl start cloudreve
# 停止
sudo supervisorctl stop cloudreve
# 查看状态
sudo supervisorctl status cloudreve
使用Docker部署
请注意:官方提供的 docker image,支持三种架构
armv7
,arm64
以及amd64
创建目录结构
bash
cd /home
mkdir -vp cloudreve/{uploads,avatar} \
&& touch cloudreve/conf.ini \
&& touch cloudreve/cloudreve.db
运行
bash
docker run -d \
-p 5212:5212 \
--mount type=bind,source=/home/cloudreve/conf.ini,target=/cloudreve/conf.ini \
--mount type=bind,source=/home/cloudreve/cloudreve.db,target=/cloudreve/cloudreve.db \
-v /home/cloudreve/uploads:/cloudreve/uploads \
-v /home/cloudreve/avatar:/cloudreve/avatar \
cloudreve/cloudreve:latest
解释
p 5212:5212
:将容器的5212端口映射到宿主机的5212端口,这样您可以通过http://localhost:5212
或者您的服务器IP加5212端口访问Cloudreve。-mount type=bind,source=/home/cloudreve/conf.ini,target=/cloudreve/conf.ini
:将宿主机的/home/cloudreve/conf.ini
文件挂载到容器中的/cloudreve/conf.ini
,这是Cloudreve的配置文件。-mount type=bind,source=/home/cloudreve/cloudreve.db,target=/cloudreve/cloudreve.db
:将宿主机的/home/cloudreve/cloudreve.db
文件挂载到容器中的/cloudreve/cloudreve.db
,这是Cloudreve的数据库文件。v /home/cloudreve/uploads:/cloudreve/uploads
:将宿主机的/home/cloudreve/uploads
目录挂载到容器中的/cloudreve/uploads
,用于存储上传的文件。v /home/cloudreve/avatar:/cloudreve/avatar
:将宿主机的/home/cloudreve/avatar
目录挂载到容器中的/cloudreve/avatar
,用于存储头像文件。cloudreve/cloudreve:latest
:指定使用的Cloudreve的Docker镜像和标签(latest表示最新版)。
确保在执行此命令之前,您已经正确设置了 conf.ini
文件中的配置以匹配您的环境需求。如果这是首次运行,Cloudreve将自动为您生成管理员账户和密码,这些信息将在容器的日志中显示,您可以通过查看容器日志来获取这些信息。
Docker Compose
以下是使用 Docker Compose 部署 Cloudreve 并整合离线下载服务的详细步骤和配置文件示例:
创建目录结构和配置文件
首先,确保在 /home
路径下创建必要的目录和文件:
bash
mkdir -vp cloudreve/{uploads,avatar} \\
&& touch cloudreve/conf.ini \\
&& touch cloudreve/cloudreve.db \\
&& mkdir -p aria2/config \\
&& mkdir -p data/aria2 \\
&& chmod -R 777 data/aria2
Docker Compose 文件
将以下内容保存为 docker-compose.yml
文件,并放置在 /home
目录下,与 cloudreve
同一层级。确保修改文件中的 RPC_SECRET
为您自己的 Aria2 RPC 令牌。
yaml
version: "3.8"
services:
cloudreve:
container_name: cloudreve
image: cloudreve/cloudreve:latest
restart: unless-stopped
ports:
- "5212:5212"
volumes:
- temp_data:/data
- ./cloudreve/uploads:/cloudreve/uploads
- ./cloudreve/conf.ini:/cloudreve/conf.ini
- ./cloudreve/cloudreve.db:/cloudreve/cloudreve.db
- ./cloudreve/avatar:/cloudreve/avatar
depends_on:
- aria2
aria2:
container_name: aria2
image: p3terx/aria2-pro
restart: unless-stopped
environment:
- RPC_SECRET=your_aria_rpc_token
- RPC_PORT=6800
volumes:
- ./aria2/config:/config
- temp_data:/data
volumes:
temp_data:
driver: local
driver_opts:
type: none
device: $PWD/data
o: bind
运行 Docker Compose
在 /home
目录下运行以下命令来启动服务:
bash
docker-compose up -d
这将以后台模式运行容器,您可以从 Docker Compose 的日志中获取默认管理员账户的用户名和密码。
或者,您也可以直接运行,日志将直接输出在当前控制台中:
bash
docker-compose up
控制面板配置
在 Cloudreve 的控制面板中,按照以下配置设置 Aria2:
- [不可修改] RPC 服务器地址 =>
http://aria2:6800
- [可修改, 需保持和 docker-compose.yml 文件一致] RPC 授权令牌 =>
your_aria_rpc_token
- [不可修改] Aria2 用作临时下载目录的节点上的绝对路径 =>
/data
更新和停止服务
关闭当前运行的容器,此步骤不会删除挂载的配置文件以及相关目录:
bash
docker-compose down
如果需要更新镜像,先拉取最新镜像:
bash
docker pull cloudreve/cloudreve
然后重复运行 docker-compose up -d
步骤。
相关链接
雨云:https://www.rainyun.com/NTEzMTM1_?s=blog
我的博客: https://blog.ivwv.site/