大家好,我是 Java陈序员
。
在日常生活中,我们会记录很多精彩的瞬间,或图片或视频,并存放在网盘中。
然而,很多商业网盘下载速度慢,而且不能很好地保护隐私。
今天,给大家介绍一个支持多家云存储驱动的公有云文件系统,适合搭建私有化网盘服务!
关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。
项目介绍
Cloudreve
—— 一个基于 Go + React 实现的支持多家云存储驱动的公有云文件系统,适用于搭建个人网盘、文件分享系统等。
功能特色:
- 支持多种存储方式:包括本地存储、远程 FTP/SFTP 存储以及云存储服务(阿里云 OSS、腾讯云 COS、Amazon S3 等)
- 功能丰富:支持文件上传(拖拽上传、目录上传、流式上传处理)、在线预览、在线压缩/解压缩、对接 Aria2 离线下载、多文件打包下载、文件分享、多用户及用户组管理等功能
- 灵活部署:All-In-One 打包,开箱即用,可以用于个人网盘、团队协作网盘或公有云服务
- 技术架构:基于 Go 语言开发,性能更优且轻量
- 用户界面友好:支持自定义配色、黑暗模式、PWA 应用等
技术栈:
- Go + Gin
- React + Redux + Material-UI
快速上手
安装包部署
1、打开下载地址,下载对应操作系统的安装包
https://github.com/cloudreve/Cloudreve/releases
2、Windows 环境下,直接解压压缩包,启动 cloudreve.exe
即可
3、Linux 下,直接解压并执行主程序即可:
#解压获取到的主程序
tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz# 赋予执行权限
chmod +x ./cloudreve# 启动 Cloudreve
./cloudreve
4、浏览器访问
http://服务器IP:5212
Docker 部署
## 1、创建挂载目录和文件(可自定义目录)
mkdir -vp /data/software/cloudreve/{uploads,avatar} \
&& touch /data/software/cloudreve/conf.ini \
&& touch /data/software/cloudreve/cloudreve.db## 2、一键启动
docker run -d \
-p 5212:5212 \
--name cloudreve \
--mount type=bind,source=/data/software/cloudreve/conf.ini,target=/cloudreve/conf.ini \
--mount type=bind,source=/data/software/cloudreve/cloudreve.db,target=/cloudreve/cloudreve.db \
-v /data/software/cloudreve/uploads:/cloudreve/uploads \
-v /data/software/cloudreve/avatar:/cloudreve/avatar \
cloudreve/cloudreve:latest## 3、查看容器日志获取默认管理员账户用户名和密码
docker logs -f cloudreve
Cloudreve
默认会监听 5212 端口,可以在浏览器中访问 http://服务器IP:5212
进入 Cloudreve
.
配置文件
首次启动时,Cloudreve
会在同级目录下创建名为 conf.ini
的配置文件,可以修改此文件进行一些参数的配置,如修改默认的数据库、使用 Redis、启用 Https 等,保存后需要重新启动 Cloudreve
生效。
[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://docs.cloudreve.org/
功能截图
- 文件列表:支持列表、小图标、大图标展示
- 文件预览:支持图片、视频等在线预览
- 文件分类:创建文件分类,支持个性化标签名、图标、颜色
- 分享链接:支持图片、视频等在线预览
- 个人设置
- 参数设置
- 存储策略
可以说 Cloudreve
是一款优秀的开源文件管理系统,支持多种云存储,开箱即用,能帮助用户快速搭建起个人或团队的网盘服务。快去安装体验吧~
项目地址:https://github.com/cloudreve/Cloudreve
最后
推荐的开源项目已经收录到 GitHub
项目,欢迎 Star
:
https://github.com/chenyl8848/great-open-source-project
或者访问网站,进行在线浏览:
https://chencoding.top:8090/#/
我创建了一个开源项目交流群,方便大家在群里交流、讨论开源项目。
但是任何人在群里打任何广告,都会被 T 掉。
如果你对这个交流群感兴趣或者在使用开源项目中遇到问题,可以通过如下方式进群:
关注微信公众号:【Java陈序员】,回复【开源项目交流群】进群,或者通过公众号下方的菜单添加个人微信,并备注【开源项目交流群】,通过后拉你进群。
大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!