Cloudreve网盘搭建
Cloudreve简单简洁的一个网盘,个人使用足够了,没有nextcloud那么复杂和庞大。
环境:
Centos 8
nginx(用作代理)
宝塔面板(方便部署)
下载源码
地址:https://github.com/cloudreve/Cloudreve/releases
简单安装
使用GO语言重构之后解压完成之后只有一个cloudreve二进制启动文件
上传到网站根目录并解压
./cloudreve执行,出现下面提示表示成功运行了。会出现默认账号和密码以及监听端口,默认是5212.
[root@centos8 cloudreve]# ./cloudreve
___ _ _
/ __\ | ___ _ _ __| |_ __ _____ _____
/ / | |/ _ \| | | |/ _ | \'__/ _ \ \ / / _ \
/ /___| | (_) | |_| | (_| | | | __/\ V / __/
\____/|_|\___/ \__,_|\__,_|_| \___| \_/ \___|
V3.2.1 Commit #3b22b4f Pro=false
================================================
[Info] 2021-04-21 19:49:21 初始化数据库连接
[Info] 2021-04-21 19:49:21 开始进行数据库初始化...
[Info] 2021-04-21 19:49:22 初始管理员账号:admin@cloudreve.org
[Info] 2021-04-21 19:49:22 初始管理员密码:BnAc9TkN
[Info] 2021-04-21 19:49:22 数据库初始化结束
[Info] 2021-04-21 19:49:22 初始化任务队列,WorkerNum = 10
[Info] 2021-04-21 19:49:22 初始化定时任务...
[Info] 2021-04-21 19:49:22 当前运行模式:Master
[Info] 2021-04-21 19:49:22 开始监听 :5212
[Info] 2021-04-21 19:49:24 有新的版本 [3.3.1] 可用,下载:https://github.com/cloudreve/Cloudreve/releases/tag/3.3.1
开启防火墙和云服务器的安全组5212端口。
浏览器登录。
http://ip:5212
输入刚刚的账号密码进去之后再修改密码。
利用nginx反向代理
因为cloudreve默认不是使用nginx等web服务器的,应该是内置的那种。
使用宝塔或者命令行建立一个网站,修改网站的配置文件,代理本机的5212服务。
如下配置:
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://127.0.0.1:5212;
# 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸
# client_max_body_size 20000m;
}
高级功能配置
添加参数启动
./cloudreve -c /path/to/conf.ini # 指定配置文件
默认采用sqsli,如果需要配置使用mysql需修改配置文件
conf.ini
在后面添加如下配置
[Database]
; 数据库类型,目前支持 sqlite | mysql
Type = mysql
; MySQL 端口
Port = 3306
; 用户名
User = cloudreve
; 密码
Password = cloudreve
; 数据库地址
Host = 127.0.0.1
; 数据库名称
Name = cloudreve
; 数据表前缀
TablePrefix = cd
配置redis
如果需要配置redis缓存,在后面添加如下内容。
[Redis]
Server = 127.0.0.1:6379
Password =
DB = 1
管理员密码
使用nginx代理cloudreve,添加mysql,redis,ssl证书在nginx配置
忘记密码或者无法登录解决方法。
将cloudreve数据库删除,使用./cloudreve -c conf.ini重写数据库,出现默认用户密码,登录进去再进行修改
重置管理员密码
./cloudreve --database-script ResetAdminPassword
配置ssl证书,在nginx中配置
在网站配置中配置ssl证书和密钥路以及端口。
systemctl进程
创建文件
vim /usr/lib/systemd/system/cloudreve.service
[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
使用systemctl管理进程
systemctl start cloudreve #启动进程
systemctl stop cloudreve #停止进程
systemctl enable cloudreve #开机启动进程
完整配置示例参考
[System]
; 运行模式
Mode = master
; 监听端口
Listen = :5000
; 是否开启 Debug
Debug = false
; Session 密钥, 一般在首次启动时自动生成
SessionSecret = 23333
; Hash 加盐, 一般在首次启动时自动生成
HashIDSalt = something really hard to guss
; 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
; 数据库相关,如果你只想使用内置的 SQLite数据库,这一部分直接删去即可
[Database]
; 数据库类型,目前支持 sqlite | mysql
Type = mysql
; MySQL 端口
Port = 3306
; 用户名
User = root
; 密码
Password = root
; 数据库地址
Host = 127.0.0.1
; 数据库名称
Name = v3
; 数据表前缀
TablePrefix = cd_
; SQLite 数据库文件路径
DBFile = cloudreve.db
; 从机模式下的配置
[Slave]
; 通信密钥
Secret = 1234567891234567123456789123456712345678912345671234567891234567
; 回调请求超时时间 (s)
CallbackTimeout = 20
; 签名有效期
SignatureTTL = 60
; 跨域配置
[CORS]
AllowOrigins = *
AllowMethods = OPTIONS,GET,POST
AllowHeaders = *
AllowCredentials = false
; Redis 相关
[Redis]
Server = 127.0.0.1:6379
Password =
DB = 0
; 从机模式缩略图
[Thumbnail]
MaxWidth = 400
MaxHeight = 300
FileSuffix = ._thumb
问题
如果遇到使用反向代理之后上传大文件卡在处理的问题,修改nginx的性能调整,最大上传大小。