使用 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/

相关推荐
PyAIGCMaster16 分钟前
ubuntu装P104驱动
linux·运维·ubuntu
奈何不吃鱼16 分钟前
【Linux】ubuntu依赖安装的各种问题汇总
linux·运维·服务器
icy、泡芙18 分钟前
T527-----音频调试
linux·驱动开发·音视频
aherhuo21 分钟前
kubevirt网络
linux·云原生·容器·kubernetes
爱码小白22 分钟前
网络编程(王铭东老师)笔记
服务器·网络·笔记
zzzhpzhpzzz30 分钟前
Ubuntu如何查看硬件型号
linux·运维·ubuntu
蜜獾云32 分钟前
linux firewalld 命令详解
linux·运维·服务器·网络·windows·网络安全·firewalld
陌北v134 分钟前
Docker Compose 配置指南
运维·docker·容器·docker-compose
只会copy的搬运工1 小时前
Jenkins 持续集成部署——Jenkins实战与运维(1)
运维·ci/cd·jenkins
o(╥﹏╥)1 小时前
linux(ubuntu )卡死怎么强制重启
linux·数据库·ubuntu·系统安全