go源码支持多家云存储驱动的公有云文件系统,快速搭建网盘系统
一、项目简介能助您以最低的成本快速搭建公私兼备的网盘系统。 支持多家云存储驱动的公有云文件系统。 特性- 支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive (包括世纪互联版) 作为存储端
- 上传/下载 支持客户端直传,支持下载限速
- 可对接 Aria2 离线下载,可使用多个从机机点分担下载任务
- 在线 压缩/解压缩、多文件打包下载
- 覆盖全部存储策略的 WebDAV 协议支持
- 拖拽上传、目录上传、流式上传处理
- ️ 文件拖拽管理
- 多用户、用户组
- 创建文件、目录的分享链接,可设定自动过期
- ️️ 视频、图像、音频、文本、Office 文档在线预览
- 自定义配色、黑暗模式、PWA 应用、全站单页应用
- All-In-One 打包,开箱即用
️部署下载适用于您目标机器操作系统、CPU架构的主程序,直接运行即可。 - # 解压程序包
- tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz
- # 赋予执行权限
- chmod +x ./cloudreve
- # 启动 Cloudreve
- ./cloudreve
复制代码以上为最简单的部署示例,您可以参考 文档 - 起步 进行更为完善的部署。 构建自行构建前需要拥有 Go >= 1.13、yarn等必要依赖。 构建静态资源
- # 进入前端子模块
- cd assets
- # 安装依赖
- yarn install
- # 开始构建
- yarn run build
复制代码 嵌入静态资源
- # 回到项目主目录
- cd ../
- # 安装 statik, 用于嵌入静态资源
- go get github.com/rakyll/statik
- # 开始嵌入
- statik -src=assets/build/ -include=*.html,*.js,*.json,*.css,*.png,*.svg,*.ico -f
复制代码 编译项目
- # 获得当前版本号、Commit
- export COMMIT_SHA=$(git rev-parse --short HEAD)
- export VERSION=$(git describe --tags)
- # 开始编译
- go build -a -o cloudreve -ldflags " -X 'github.com/cloudreve/Cloudreve/v3/pkg/conf.BackendVersion=$VERSION' -X 'github.com/cloudreve/Cloudreve/v3/pkg/conf.LastCommit=$COMMIT_SHA'"
复制代码 你也可以使用项目根目录下的build.sh快速开始构建:
- ./build.sh [-a] [-c] [-b] [-r]
- a - 构建静态资源
- c - 编译二进制文件
- b - 构建前端 + 编译二进制文件
- r - 交叉编译,构建用于release的版本
复制代码 技术栈- Go + Gin
- React + Redux + Material-UI
go源码支持多家云存储驱动的公有云文件系统,快速搭建网盘系统
游客,本帖隐藏的内容需要积分高于 2 才可浏览,您当前积分为 0
提取码下载:
|