🌩支持多家云存储的云盘系统 (Self-hosted file management and sharing system, supports multiple storage providers)
Find a file
HFO4 ace398d87b Fix: file size is ready dirty when clean upload sessions
After listing to be deleted files, before delete is committed to database, file size might be changed by ongoing upload, causing inconsistent user storage.
2022-04-03 20:39:50 +08:00
.github Enable overwrite for non-first chunk uploading request 2022-03-03 19:15:25 +08:00
assets@1f4883774a Feat: support {ext} and {uuid} magic variable 2022-03-23 19:26:25 +08:00
bootstrap Test: new changes in pkg: cache, cluster, conf 2022-03-26 15:32:57 +08:00
middleware Test: new changes in middleware pkg 2022-03-23 20:05:10 +08:00
models Fix: file size is ready dirty when clean upload sessions 2022-04-03 20:39:50 +08:00
pkg Test: new changes in pkg request, serializer, task, xml, router 2022-03-31 20:17:01 +08:00
routers Test: new changes in pkg request, serializer, task, xml, router 2022-03-31 20:17:01 +08:00
service Feat: adapt new uploader for s3 like policy 2022-03-20 11:29:50 +08:00
.gitignore bug fix: can't connect to postgres database (#992) 2021-10-29 20:30:26 +08:00
.gitmodules Modify: use public URL for asserts module 2020-03-12 12:07:07 +08:00
.travis.yml Chore: update golang version to 1.17.x 2022-03-02 19:29:18 +08:00
build.sh Comply with Golang semantic import versioning (#630) 2020-11-21 17:34:55 +08:00
docker-bootstrap.sh Integrate aria2c support & fix unintended behavior for docker image (#1073) 2021-11-29 17:45:33 +08:00
Dockerfile Chore: update golang version to 1.17.x 2022-03-02 19:29:18 +08:00
go.mod Refactor: factory method for OSS client 2022-03-20 11:26:26 +08:00
go.sum Refactor: factory method for OSS client 2022-03-20 11:26:26 +08:00
LICENSE Add: README & License 2020-03-12 19:20:40 +08:00
main.go Fix: stop listening HTTP port if unix socket is enabled (#729) 2021-03-17 14:19:05 +08:00
README.md Update README.md 2021-11-26 11:17:19 +08:00



Cloudreve

支持多家云存储驱动的公有云文件系统.

travis

演示站讨论社区文档下载Telegram 群组许可证

Screenshot

特性

  • ☁️ 支持本机、从机、七牛、阿里云 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.13yarn等必要依赖。

克隆代码

git clone --recurse-submodules https://github.com/cloudreve/Cloudreve.git

构建静态资源

# 进入前端子模块
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的版本

⚗️ 技术栈

📜 许可证

GPL V3


GitHub @HFO4  ·  Twitter @abslant00