笔者在此前的文章中介绍过使用Docker搭建CloudDrive,其不但可以使用Nas本地存储数据,还可以挂载其他网盘统一管理,用起来非常方便。本文要介绍的Cloudreve是另一款网盘系统,其定位与CloudDrive不同,可以使用Nas本地或第三方对象存储系统来存储数据,例如可以集成各大云厂商的OSS,并支持多用户、离线下载和文件分享等功能。
安装和运行Cloudreve
Cloudreve支持Windows、Linux和Docker方式部署,本文以Docker为例,介绍如何安装和运行Cloudreve。
准备工作
- 创建应用目录,例如在/share/Container下创建文件夹
cloudreve
- 在
cloudreve
下创建4个子文件夹,分别为:config
、db
、upload
和avatar
创建配置文件和数据库文件
- 在
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、观察启动日志,可以看到默认的账号和密码:
4、等待容器启动完成,使用Nas的ip+Cloudreve端口<5212>,即可打开Web管理界面,使用上面的默认帐号和密码登录即可
5、修改默认帐号和密码
点击右上角的头像,选择管理面板
,在左边菜单栏中找到用户
,找到默认的账号,修改邮箱和密码。
6、设置存储策略
同样是在管理面板
中,点击存储策略
菜单,在页面中就可以添加存储方式了,目前支持本地存储、从机存储(针对主从部署方式)、七牛、阿里云OSS、又拍云、腾讯云OSS、OneDrive和AWS S3等方式。配置比较简单,直接按配置的引导填写相关信息即可。
另外,如果你想限制用户使用的存储容量上限,可在用户组中进行设置。
7、上传、下载与分享
回到系统主页,可以看到左边菜单显示我的文件
,默认分了视频、图片、音乐和文档,也可以点击添加标签
自己创建新的分类
上传: 点击我的文件
,右下角就会出现+
号,点击后可以上传文件
下载和分享: 选择要操作的文件,右上角就会显示操作栏,可以对文件下载、分享、重命名、移动或删除
8、设置站点URL
如果你打算将文件反向给其他人查看、下载,在配置好域名之后,需要到管理面板
-->参数设置
-->站点信息
中,将站点URL设置为你的Cloudreve域名。
9、使用WebDAV
Cloudreve的WebDAV的账号与Cloudreve本身的用户账号是分开的,要使用WebDAV,首先要在控制面板
-->用户组
中开启用户组的WebDAV权限
然后回到用户主页,点击连接
菜单,在WebDAV帐号管理
界面中,创建新账号,然后在其他终端中使用WebDAV地址+Cloudreve账号的邮箱+WebDAV帐号的密码即可连接到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

文章评论