众所周知,某度网盘为了挣钱,各种极限限速,下载限速能把人恶心死。但是,网盘类服务越来越成为人们的刚需,不管是个人生活中的照片,还是工作学习中各类资料,相信很多人都需要使用到网盘进行存储和分享。如果你不想忍受某度的速度,建议有条件的朋友可以试试自己搭建一套网盘系统,本文以Cloudreve为例,在群晖NAS上搭建一套属于自己的私人网盘服务,供读者们参考。
Cloudreve简介
Cloudreve是一款国人开发的能以最低的成本快速搭建公私兼备的网盘系统,使用GO + Gin + React + Redux + Material-UI架构,界面简洁,使用风格比较符合国人操作习惯,比Nextcloud要轻量易用,主要特色就是支持多家第三方云存储,比如七牛、又拍云、阿里云OSS、AWS S3、Onedrive等。
Cloudreve只要有以下特性:
- ☁️ 支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive (包括世纪互联版) 作为存储端
- 📤 上传/下载 支持客户端直传,支持下载限速
- 💾 可对接 Aria2 离线下载,可使用多个从机机点分担下载任务
- 📚 在线 压缩/解压缩、多文件打包下载
- 💻 覆盖全部存储策略的 WebDAV 协议支持
- ⚡ 拖拽上传、目录上传、流式上传处理
- 🗃️ 文件拖拽管理
- 👩👧👦 多用户、用户组
- 🔗 创建文件、目录的分享链接,可设定自动过期
- 👁️🗨️ 视频、图像、音频、文本、Office 文档在线预览
- 🎨 自定义配色、黑暗模式、PWA 应用、全站单页应用
- 🚀 All-In-One 打包,开箱即用
- 🐳 支持docker部署
部署方式
本文以命令行部署方式为例进行介绍,docker部署方式博主后续会更新。
- 下载适用于您目标机器操作系统、CPU架构的主程序
下载地址:下载地址
- 下载后进行解压
比如下载【cloudreve_3.4.2_linux_amd64.tar.gz】之后,进入下载目录进行操作
## 解压 tar -zxvf cloudreve_3.4.2_linux_amd64.tar.gz
- 启动程序
cd cloudreve_3.4.2_linux_amd64 ## 赋予执行权限 chmod +x ./cloudreve ## 启动,前台运行 ./cloudreve
上面的启动方式是在前台运行,一旦退出终端,进程就会终止,使用下面命令后台运行
nohup ./cloudreve >/dev/null 2>&1 &
- 等待程序初始化配置
Cloudreve 在首次启动时,会创建初始管理员账号,请注意保管管理员密码,此密码只会在首次启动时出现。如果您忘记初始管理员密码,需要删除同级目录下的
cloudreve.db
,重新启动主程序以初始化新的管理员账户。- Cloudreve 默认会监听
5212
端口。你可以在浏览器中访问http://IP:5212
进入 Cloudreve。 - 请记下初始管理员账号和初始管理员密码
- 如果初始管理员账号和初始管理员密码忘记了,删除同级目录下的
cloudreve.db
,重新启动主程序
- Cloudreve 默认会监听
- 在浏览器中输入群晖的ip+端口,即可访问到Cloudreve
部署反向代理
通过上面的操作,Cloudreve实际上已经在正常工作了,但是只能通过群晖的ip+端口的方式访问,如果需要通过公网环境访问,需要再配置端口映射和反向代理,有需要的读者可以参考博主的这篇文章中的方法进行配置:使用群晖WebStation安装Lsky兰空图床
关于反向代理,如果你想单独使用Nginx或Apache,可以按照下面方法设置即可:
- Nginx方式
在
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; }
- Apache方式
在
VirtualHost
字段下加入反代配置项ProxyPass
:<VirtualHost *:80> ServerName myapp.example.com ServerAdmin [email protected] DocumentRoot /www/myapp/public # 以下为关键部分 AllowEncodedSlashes NoDecode ProxyPass "/" "http://127.0.0.1:5212/" nocanon </VirtualHost>
守护进程
在部署方式
章节中简单的介绍了如何启动Cloudreve,但是如果进程异常退出了,网盘就挂掉了,关注稳定性的读者可以使用守护程序来自动重启Cloudreve,本文以Systemd
为例进行配置。
- 新增配置文件
# 编辑配置文件 vim /usr/lib/systemd/system/cloudreve.service
- 将下面内容添加到配置文件中
启动
CLOUDREVE_DIR
改为你的Cloudreve程序的目录路径[Unit] Description=Cloudreve Documentation=https://docs.cloudreve.org After=network.target After=mysqld.service Wants=network.target [Service] WorkingDirectory=/CLOUDREVE_DIR ExecStart=nohup /CLOUDREVE_DIR/cloudreve >/dev/null 2>&1 & Restart=on-abnormal RestartSec=5s KillMode=mixed StandardOutput=null StandardError=syslog [Install] WantedBy=multi-user.target
- 管理命令
# 启动服务 systemctl start cloudreve # 停止服务 systemctl stop cloudreve # 重启服务 systemctl restart cloudreve # 查看状态 systemctl status cloudreve
使用
systemctl start cloudreve
启动Cloudreve,即可实现进程守护
相关设置
- 使用初始管理员账号和密码登录系统,请到个人设置页面修改默认密码
- 如果你不想让别人在你的网盘上注册用户,请关闭允许新用户注册开关
路径为:
管理面板
——参数设置
——注册与登录
- Cloudreve默认将文件存储在本地,如果你想讲文件存储在第三方云上,可以添加存储策略
路径为:
管理面板
——储存策略
——添加存储策略
- 重置初始管理员密码
如果忘记了初始管理员密码,除了删除
cloudreve.db
并重启外,还可以使用下面命令重置初始管理员密码./cloudreve --database-script ResetAdminPassword

文章评论