闲来无事,就准备在github上找一些比较实用的项目,部署的玩一玩。于是就想到了搭建一个云盘,自己可以用而且还可以分享给朋友一起用。于是就找到了Cloudeve这个开源项目。
github地址:https://github.com/cloudreve/Cloudreve/releases
选择它的原因:
- 部署简单,使用方便,界面简洁。
- 有专业的团队支持,社区较为活跃。
- 文件存储方式支持多种,包括本地存储,市面各种流行的oss存储,七牛云,又拍云等等
部署步骤
参考自,Cloudeve的官网,快速开始地址
-
获取Couldeve的部署文件
官方下载地址:https://github.com/cloudreve/Cloudreve/releases
个人提供下载:https://oyqiao.cn/files/cloudreve_3.1.1_linux_amd64.tar.gz
其实Cloudeve官方提供了linux和windows的部署方式,这里仅此介绍linux部署方式。
-
启动 Cloudreve
#解压获取到的主程序 tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz # 赋予执行权限 chmod +x ./cloudreve # 启动 Cloudreve ./cloudreve
Cloudreve 在首次启动时,会创建初始管理员账号,请注意保管管理员密码,此密码只会在首次启动时出现。如果您忘记初始管理员密码,需要删除同级目录下的
cloudreve.db
,重新启动主程序以初始化新的管理员账户。Cloudreve 默认会监听
5212
端口。你可以在浏览器中访问http://服务器IP:5212
进入 Cloudreve。以上步骤操作完后,最简单的部署就完成了。你可能需要一些更为具体的配置,才能让Cloudreve更好的工作,具体流程请参考下面的配置流程。
可选部署流程
-
可能你想要反向代理
多种反向代理方式,我采用的是nginx反向代理,只需要将指定域名指向
你服务器的IP:5212
在
nginx.config
文件的server
中添加: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; }
-
可能你想要进程守护
官方提供了Systemd和Supervisor两种方式的基本模板
这里只简单介绍Systemd的方式:
- 编辑配置文件
vim /usr/lib/systemd/system/cloudreve.service
- 将下文
PATH_TO_CLOUDREVE
更换为程序所在目录:
[Unit] Description=Cloudreve Documentation=https://docs.cloudreve.org After=network.target 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 daemon-reload # 启动服务 systemctl start cloudreve # 设置开机启动 systemctl enable cloudreve
- 管理命令
# 启动服务 systemctl start cloudreve # 停止服务 systemctl stop cloudreve # 重启服务 systemctl restart cloudreve # 查看状态 systemctl status cloudreve
-
可能你想要自定义配置文件
- 使用 MySQL
默认情况下,Cloudreve 会使用内置的 SQLite 数据库,并在同级目录创建数据库文件
cloudreve.db
,如果您想要使用 MySQL,请在配置文件中加入以下内容,并重启 Cloudreve。注意,Cloudreve 只支持大于或等于 5.7 版本的 MySQL 。[Database] ; 数据库类型,目前支持 sqlite | mysql Type = mysql ; MySQL 端口 Port = 3306 ; 用户名 User = root ; 密码 Password = root ; 数据库地址 Host = 127.0.0.1 ; 数据库名称 Name = v3 ; 数据表前缀 TablePrefix = cd
-
使用 Redis
你可以在配置文件中加入 Redis 相关设置:
[Redis] Server = 127.0.0.1:6379 Password = your password DB = 0
重启 Cloudreve 后,可注意控制台输出,确定 Cloudreve 是否成功连接 Redis 服务器。使用 Redis 后,以下内容将被 Redis 接管:
-
用户会话(重启Cloudreve后不会再丢失登录会话)
-
数据表高频记录查询缓存(如存储策略、设置项)
-
回调会话
-
OneDrive 凭证
-
更多的自定义配置还请参考官网的快速开始,这里只提供我常用的,可能会用到部分内容。
目前使用出现的问题
我配置的是又拍云oss储存,开源正常上传,但是下载的时候就会出现404。
原因就是,从cloudeve下载的路径参数添加了 ?_upd=文件名。在社区查询了一下,可能是又拍云之前下载是需要这个参数的,后来CDK更新了之后,并不需要了,cloudeve一直都没有更新,导致通过又拍云下载需要将路径的_upd参数给删掉,这点比较蛋疼。