🪽 掌控数据:使用Docker搭建Cloudreve私有云盘

笔者在此前的文章中介绍过使用Docker搭建CloudDrive,其不但可以使用Nas本地存储数据,还可以挂载其他网盘统一管理,用起来非常方便。本文要介绍的Cloudreve是另一款网盘系统,其定位与CloudDrive不同,可以使用Nas本地或第三方对象存储系统来存储数据,例如可以集成各大云厂商的OSS,并支持多用户、离线下载和文件分享等功能。

Cloudreve

安装和运行Cloudreve

Cloudreve支持Windows、Linux和Docker方式部署,本文以Docker为例,介绍如何安装和运行Cloudreve。

准备工作

  • 创建应用目录,例如在/share/Container下创建文件夹cloudreve
  • cloudreve下创建4个子文件夹,分别为:configdbuploadavatar

创建配置文件和数据库文件

  • config文件夹下创建conf.ini文件,并将下面内容复制进去
[Database]
DBFile = /cloudreve/cloudreve.db

Cloudreve支持Mysql和Sqlite作为数据库,实际上个人使用Sqlite完全足够,没必要用Mysql。如果想使用Mysql可以参考文末的完整配置文件。

  • db文件夹下创建cloudreve.db文件,什么都不需要填,空文件即可

配置和部署Aria2

Cloudreve的离线下载功能依赖于Aria2,如果你需要在Cloudreve中使用离线下载功能,则需要先部署好Aria2.

1、先创建一个aria2的目录,例如在/share/Container下创建文件夹aria2

2、在aria2文件夹下创建docker-compose.yml文件,并将下面的内容复制到文件中,保存

version: '3.8'
services:
  aria2:
    image: 'p3terx/aria2-pro:latest'
    container_name: aria2
    restart: unless-stopped
    network_mode: bridge
    environment:
        LISTEN_PORT: 6888
        RPC_PORT: 6800
        RPC_SECRET: 123456
        PUID: 1000
        PGID: 100
        UMASK_SET: 022
        TZ: Asia/Shanghai
        UPDATE_TRACKERS: true
        DISK_CACHE: 128M
    ports:
      - '26888:6888'
      - '6800:6800'
    volumes:
      - /share/Container/aria2/config:/config
      - /share/downloads/temp:/downloads

配置说明

  • PUID和PGID:需要按你实际情况填,一般都填0也行
  • RPC_SECRET:是连接Aria2的密钥,按自己想法设置一个
  • 挂载文件:上面例子中的目录按你自己实际情况填,/config是Aria2的配置目录,/downloads是下载目录(文件夹名字可以按自己想法改)
  • 端口:注意,6800端口不要改成其他的

3、登录Nas的ssh,切换到aria2目录,执行下面命令启动aria2:

docker-compose up -d

部署Cloudreve

1、在/share/Container/cloudreve文件夹下面创建docker-compose.yml文件,并将下面的内容复制到文件中,保存:

version: "3.8"
services:
  cloudreve:
    container_name: cloudreve
    image: cloudreve/cloudreve:latest
    restart: unless-stopped
    network_mode: bridge
    ports:
      - "5212:5212"
    volumes:
      - /share/downloads/temp:/data
      - /share/Container/cloudreve/uploads:/cloudreve/uploads
      - /share/Container/cloudreve/config/conf.ini:/cloudreve/conf.ini
      - /share/Container/cloudreve/db/cloudreve.db:/cloudreve/cloudreve.db
      - /share/Container/cloudreve/avatar:/cloudreve/avatar

配置说:将uploads、conf.ini、cloudreve.db和avatar挂载到容器中;另外/data目录是离线下载目录,挂载的宿主机目录需要与aria2挂载的一样。

2、登录Nas的ssh,切换到cloudreve目录,执行下面命令启动cloudreve.db:

docker-compose up -d

3、观察启动日志,可以看到默认的账号和密码:
🪽 掌控数据:使用Docker搭建Cloudreve私有云盘

4、等待容器启动完成,使用Nas的ip+Cloudreve端口<5212>,即可打开Web管理界面,使用上面的默认帐号和密码登录即可
🪽 掌控数据:使用Docker搭建Cloudreve私有云盘

5、修改默认帐号和密码

点击右上角的头像,选择管理面板,在左边菜单栏中找到用户,找到默认的账号,修改邮箱和密码。
🪽 掌控数据:使用Docker搭建Cloudreve私有云盘

6、设置存储策略
同样是在管理面板中,点击存储策略菜单,在页面中就可以添加存储方式了,目前支持本地存储、从机存储(针对主从部署方式)、七牛、阿里云OSS、又拍云、腾讯云OSS、OneDrive和AWS S3等方式。配置比较简单,直接按配置的引导填写相关信息即可。

另外,如果你想限制用户使用的存储容量上限,可在用户组中进行设置。
🪽 掌控数据:使用Docker搭建Cloudreve私有云盘

7、上传、下载与分享

回到系统主页,可以看到左边菜单显示我的文件,默认分了视频、图片、音乐和文档,也可以点击添加标签自己创建新的分类
🪽 掌控数据:使用Docker搭建Cloudreve私有云盘

上传: 点击我的文件,右下角就会出现+号,点击后可以上传文件
🪽 掌控数据:使用Docker搭建Cloudreve私有云盘

下载和分享: 选择要操作的文件,右上角就会显示操作栏,可以对文件下载、分享、重命名、移动或删除
🪽 掌控数据:使用Docker搭建Cloudreve私有云盘

8、设置站点URL

如果你打算将文件反向给其他人查看、下载,在配置好域名之后,需要到管理面板-->参数设置-->站点信息中,将站点URL设置为你的Cloudreve域名。

🪽 掌控数据:使用Docker搭建Cloudreve私有云盘

9、使用WebDAV

Cloudreve的WebDAV的账号与Cloudreve本身的用户账号是分开的,要使用WebDAV,首先要在控制面板-->用户组中开启用户组的WebDAV权限
🪽 掌控数据:使用Docker搭建Cloudreve私有云盘

然后回到用户主页,点击连接菜单,在WebDAV帐号管理界面中,创建新账号,然后在其他终端中使用WebDAV地址+Cloudreve账号的邮箱+WebDAV帐号的密码即可连接到Cloudreve上。
🪽 掌控数据:使用Docker搭建Cloudreve私有云盘
🪽 掌控数据:使用Docker搭建Cloudreve私有云盘

附录:完整配置文件

Cloudreve的conf.ini配置文件除了基础的数据块库配置,还支持其他配置项,以下是附录完整的配置文件和说明:

[System]
; 运行模式
Mode = master
; 监听端口
Listen = :5212
; 是否开启 Debug
Debug = false
; Session 密钥, 一般在首次启动时自动生成
SessionSecret = 23333
; Hash 加盐, 一般在首次启动时自动生成
HashIDSalt = something really hard to guss
; 呈递客户端 IP 时使用的 Header
ProxyHeader = X-Forwarded-For

; SSL 相关
[SSL]
; SSL 监听端口
Listen = :443
; 证书路径
CertPath = C:\Users\i\Documents\fullchain.pem
; 私钥路径
KeyPath = C:\Users\i\Documents\privkey.pem

; 启用 Unix Socket 监听
[UnixSocket]
Listen = /run/cloudreve/cloudreve.sock
; 设置产生的 socket 文件的权限
Perm = 0666

; 数据库相关,如果你只想使用内置的 SQLite 数据库,这一部分直接删去即可
[Database]
; 数据库类型,目前支持 sqlite/mysql/mssql/postgres
Type = mysql
; MySQL 端口
Port = 3306
; 用户名
User = root
; 密码
Password = root
; 数据库地址
Host = 127.0.0.1
; 数据库名称
Name = v3
; 数据表前缀
TablePrefix = cd_
; 字符集
Charset = utf8mb4
; SQLite 数据库文件路径
DBFile = cloudreve.db
; 进程退出前安全关闭数据库连接的缓冲时间
GracePeriod = 30
; 使用 Unix Socket 连接到数据库
UnixSocket = false

; 从机模式下的配置
[Slave]
; 通信密钥
Secret = 1234567891234567123456789123456712345678912345671234567891234567
; 回调请求超时时间 (s)
CallbackTimeout = 20
; 签名有效期
SignatureTTL = 60

; 跨域配置
[CORS]
AllowOrigins = *
AllowMethods = OPTIONS,GET,POST
AllowHeaders = *
AllowCredentials = false
SameSite = Default
Secure = lse

; Redis 相关
[Redis]
Server = 127.0.0.1:6379
Password =
DB = 0

; 从机配置覆盖
[OptionOverwrite]
; 可直接使用 `设置名称 = 值` 的格式覆盖
max_worker_num = 50

高等精灵实验室

原创文章,作者:诺多,如若转载,请注明出处:https://www.huluohu.com/posts/341/

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
在Windows中使用Netsh设置IP和DNS
上一篇 2023年9月5日 08:59
🦜 如何在威联通NAS中设置定时任务
下一篇 2023年9月6日 19:36

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注