使用 Cloudreve 搭建你的专属个人网盘

Cloudreve 简介

Cloudreve 是一个基于多存储后端的云存储管理套件,旨在为用户提供一个简单、易用且高效的私有云盘解决方案。它支持多种存储后端,包括本地存储、OneDrive、阿里云OSS、腾讯云COS等,使得用户可以根据自己的需求灵活选择存储方案。Cloudreve 提供了文件管理、分享、在线预览等功能,并且支持多用户管理,非常适合个人和团队使用。

特点概览:

  1. 多存储后端支持:支持多种存储服务,包括本地存储、OneDrive、阿里云OSS等。
  2. 用户管理:支持创建多个用户,方便团队协作。
  3. 文件分享:支持生成文件和文件夹的分享链接。
  4. 在线预览:支持多种文件格式的在线预览,如图片、视频、Office文档等。
  5. WebDAV 支持:可以通过 WebDAV 协议访问和管理文件。
  6. API 接口:提供丰富的 API 接口,方便开发者进行二次开发。
  7. 多语言支持:支持多种语言,满足不同用户的需求。

Cloudreve 的设计理念是简单、高效,它不仅提供了一个易于使用的界面,还通过模块化的设计,使得扩展和维护变得更加简单。无论是个人用户还是企业用户,都可以根据自己的需求,快速部署和使用 Cloudreve。

在接下来的部分,我们将详细介绍如何在 Ubuntu 系统上部署 Cloudreve,包括基础部署和一些高级用法。

Github:https://github.com/cloudreve/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/

相关推荐
HIT_Weston2 分钟前
18、【Ubuntu】【远程开发】技术方案分析:私网ip掩码
linux·tcp/ip·ubuntu
cccccc语言我来了6 分钟前
(Linux (6):从包管理到工具探索,构建系统操作基础认知)
linux·运维·服务器
8K超高清29 分钟前
高校巡展:中国传媒大学+河北传媒学院
大数据·运维·网络·人工智能·传媒
ben9518chen1 小时前
嵌入式Linux C语言程序设计九
linux·c语言
wuk9981 小时前
CentOS7环境搭建L2TP服务器
运维·服务器
恒创科技HK1 小时前
香港1核2G云服务器当网站服务器够用不?
运维·服务器
IT 小阿姨(数据库)1 小时前
PostgreSQL 之上的开源时序数据库 TimescaleDB 详解
运维·数据库·sql·postgresql·开源·centos·时序数据库
颜大哦2 小时前
linux安装mysql
linux·运维·mysql·adb
学习3人组2 小时前
Node.js 网站服务器开发
运维·服务器·node.js
来知晓2 小时前
Linux:WSL内存空间管理之清完内存C盘可用空间不增问题解决
linux·运维·服务器