You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Aaron Liu
d4c79cb962
|
2 years ago | |
---|---|---|
.github | 2 years ago | |
assets@d4dc124e99 | 2 years ago | |
bootstrap | 2 years ago | |
middleware | 2 years ago | |
models | 2 years ago | |
pkg | 2 years ago | |
routers | 2 years ago | |
service | 2 years ago | |
.gitignore | 2 years ago | |
.gitmodules | 5 years ago | |
.goreleaser.yaml | 2 years ago | |
Dockerfile | 2 years ago | |
LICENSE | 5 years ago | |
README.md | 2 years ago | |
README_zh-CN.md | 2 years ago | |
assets.zip | 2 years ago | |
docker-compose.yml | 3 years ago | |
go.mod | 2 years ago | |
go.sum | 2 years ago | |
main.go | 2 years ago |
README.md
Cloudreve
Self-hosted file management system with muilt-cloud support.
Homepage • Demo • Discussion • Documents • Download • Telegram Group • License
✨ Features
- ☁️ Support storing files into Local storage, Remote storage, Qiniu, Aliyun OSS, Tencent COS, Upyun, OneDrive, S3 compatible API.
- 📤 Upload/Download in directly transmission with speed limiting support.
- 💾 Integrate with Aria2 to download files offline, use multiple download nodes to share the load.
- 📚 Compress/Extract files, download files in batch.
- 💻 WebDAV support covering all storage providers.
- ⚡Drag&Drop to upload files or folders, with streaming upload processing.
- 🗃️ Drag & Drop to manage your files.
- 👩👧👦 Multi-users with multi-groups.
- 🔗 Create share links for files and folders with expiration date.
- 👁️🗨️ Preview videos, images, audios, texts, Office documents, ePub files online.
- 🎨 Customize theme colors, dark mode, PWA application, SPA, i18n.
- 🚀 All-In-One packing, with all features out-of-the-box.
- 🌈 ... ...
🛠️ Deploy
Download the main binary for your target machine OS, CPU architecture and run it directly.
# Extract Cloudreve binary
tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz
# Grant execute permission
chmod +x ./cloudreve
# Start Cloudreve
./cloudreve
The above is a minimum deploy example, you can refer to Getting started for a completed deployment.
⚙️ Build
You need to have Go >= 1.18
, node.js
, yarn
, zip
and other necessary dependencies before you can build it yourself.
Clone the code
git clone --recurse-submodules https://github.com/cloudreve/Cloudreve.git
Build static resources
# Enter frontend sub-module
cd assets
# Install dependencies
yarn install
# Start building
yarn run build
# Delete unused map files
cd build
find . -name "*.map" -type f -delete
# Return to main folder to pack static files
cd ../../
zip -r - assets/build >assets.zip
Compile
# Obtain version number, commit SHA
export COMMIT_SHA=$(git rev-parse --short HEAD)
export VERSION=$(git describe --tags)
# Compile
go build -a -o cloudreve -ldflags "-s -w -X 'github.com/cloudreve/Cloudreve/v3/pkg/conf.BackendVersion=$VERSION' -X 'github.com/cloudreve/Cloudreve/v3/pkg/conf.LastCommit=$COMMIT_SHA'"
You can also start a quick build using build.sh
in the project root directory:
./build.sh [-a] [-c] [-b] [-r]
a - Build assets
c - Build binary backend
b - Build both assets and backend
r - Cross-compilation for final release
⚗️ Stacks
- Go + Gin
- React + Redux + Material-UI
📜 License
GPL V3