Cloudreve是一个支持多家云存储驱动的公有云文件系统

✨ 特性

  • ☁ 支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive (包括世纪互联版) 作为存储端
  • 📤 上传/下载 支持客户端直传,支持下载限速
  • 💾 可对接 Aria2 离线下载,可使用多个从机机点分担下载任务
  • 📚 在线 压缩/解压缩、多文件打包下载
  • 💻 覆盖全部存储策略的 WebDAV 协议支持
  • ⚡ 拖拽上传、目录上传、流式上传处理
  • 🗃 文件拖拽管理
  • 👩‍👧‍👦 多用户、用户组
  • 🔗 创建文件、目录的分享链接,可设定自动过期
  • 👁️‍🗨️ 视频、图像、音频、文本、Office 文档在线预览
  • 🎨 自定义配色、黑暗模式、PWA 应用、全站单页应用
  • 🚀 All-In-One 打包,开箱即用
  • 🌈 ... ...

可用作公司或个人的云盘文件存储或FQ代理程序的回落点,支持目录、文件分享。go语言开发,性能和部署很方便。

开源项目:https://github.com/cloudreve/Cloudreve
官方文档:https://docs.cloudreve.org/

1. 创建目录和配置文件

mkdir -vp /data/cloudreve/uploads
mkdir -vp /data/cloudreve/avatar
touch /data/cloudreve/cloudreve.db

将自定义配置写入conf.ini配置文件

vim /data/cloudreve/conf.ini

配置示例

[System]
; 运行模式
Mode = master
; 监听端口
Listen = :9000
; 是否开启 Debug
Debug = false
; Session 密钥, 一般在首次启动时自动生成
SessionSecret = 4xx.me
; Hash 加盐, 一般在首次启动时自动生成
HashIDSalt = 4xx.me


; 数据库相关,如果你只想使用内置的 SQLite数据库,这一部分直接删去即可
[Database]
; 数据库类型,目前支持 sqlite/mysql/mssql/postgres
; 字符集
Charset = utf8
; SQLite 数据库文件路径
DBFile = cloudreve.db

; 跨域配置
[CORS]
AllowOrigins = *
AllowMethods = OPTIONS,GET,POST
AllowHeaders = *
AllowCredentials = false

; 缩略图
[Thumbnail]
MaxWidth = 400
MaxHeight = 300
FileSuffix = ._thumb
; 最大并行执行缩略图生成的数量,填写 -1 时会根据 CPU 核心数自动决定
MaxTaskCount = -1
; 可填写 jpg / png
EncodeMethod = jpg
; 是否在缩略图生成完毕后立刻进行垃圾回收
GCAfterGen = false
; 缩略图质量
EncodeQuality = 85

主要是端口、数据库配置。可参考官方配置示例修改

image.png

2.创建Docker容器

docker run --restart=unless-stopped -d -p 9000:9000 \
--mount type=bind,source=/data/cloudreve/conf.ini,target=/cloudreve/conf.ini \
--mount type=bind,source=/data/cloudreve/cloudreve.db,target=/cloudreve/cloudreve.db \
-v /data/cloudreve/uploads:/cloudreve/uploads \
-v /data/cloudreve/avatar:/cloudreve/avatar \
cloudreve/cloudreve:3.4.2

注意:第一次安装完,请使用docker logs 容器id查看后台账号和密码

image.png

3.登录后台自定义配置

image.png

管理员可配置站点信息和开放注册、修改账号、密码