项目简介

Cloudreve 是一款基于 Go 语言开发的自托管文件管理与分享系统,凭借其出色的多云存储适配能力,在 GitHub 上获得了超过 2.8 万颗 Star,成为国内开发者自建云盘的热门选择之一。与 Nextcloud 这类全功能办公套件不同,Cloudreve 专注于"文件"本身,将上传、下载、分享、外链、离线下载这些核心场景打磨得相当完善,同时又支持挂载多种云存储后端,让用户的文件不必被困在单一服务器上。

对于希望摆脱公有网盘限速、审查或数据隐私顾虑的个人用户和中小团队来说,Cloudreve 提供了一个轻量却功能完整的替代方案。它既可以作为私人网盘使用,也可以充当团队文件协作平台,还能够把 Aria2、qBittorrent 等下载工具整合进来,作为一个综合性的媒体资源管理中心。

Cloudreve 主界面

核心功能与架构

Cloudreve 的技术栈采用前后端分离的设计:后端使用 Go + Gin 框架,保证了高并发下的性能与稳定性;前端基于 React 构建,提供了接近现代 SaaS 产品的交互体验。这种架构让单二进制文件即可启动服务,部署成本极低。

多存储后端支持

这是 Cloudreve 最具差异化的能力。它支持将文件存储到本地磁盘、远程从节点、OneDrive、AWS S3 兼容对象存储、阿里云 OSS、腾讯云 COS、华为云 OBS、七牛云 Kodo、金山云 KS3、又拍云等十余种后端。值得一提的是,它实现了"客户端直传"机制——浏览器或客户端直接将文件上传到云存储服务商,不经过 Cloudreve 服务器中转,这意味着服务器的带宽不再是瓶颈。

文件管理与预览

系统内置了压缩、解压、批量下载、文件夹打包分享等常用操作。文件预览支持图片、视频、音频、PDF、Office 文档等常见格式,对于做影视资源管理或者电子书库的用户来说非常友好。系统还会提取媒体文件的元数据(如视频分辨率、时长、音乐的 ID3 标签),方便用户按元数据检索。

离线下载与 WebDAV

通过集成 Aria2 或 qBittorrent,Cloudreve 可以作为一个下载站使用。只需把磁力链接或种子文件丢进去,下载完成后文件会自动入库。WebDAV 协议的支持则让用户可以将任意存储后端挂载到本地文件系统,配合 RaiDrive、Kodi 等客户端使用。

用户与权限体系

Cloudreve 支持多用户、多用户组,可以为不同组配置不同的存储策略、分享权限和容量限制。这一设计使其既能服务个人场景,也能应对小团队的协作需求。

快速上手

Cloudreve 的部署方式非常灵活,既可以直接下载二进制文件运行,也可以通过 Docker 快速启动。对于生产环境,建议使用 Docker 部署,便于升级和数据迁移。

使用 Docker 部署

创建 docker-compose.yml 文件:

version: "3.8"
services:
  cloudreve:
    container_name: cloudreve
    image: cloudreve/cloudreve:latest
    restart: unless-stopped
    ports:
      - "5212:5212"
    volumes:
      - ./cloudreve/data:/data
      - ./cloudreve/uploads:/uploads
      - ./cloudreve/conf:/conf
      - ./cloudreve/db:/db
    environment:
      - TZ=Asia/Shanghai

执行以下命令启动:

mkdir -p cloudreve && cd cloudreve
docker-compose up -d

首次启动后,需要查看初始管理员密码:

docker logs cloudreve

日志中会显示一串随机生成的初始密码,配合默认管理员账号 admin@cloudreve.org 即可登录后台。建议登录后立即在「用户管理」中修改密码并配置 SMTP 邮件服务,方便后续找回密码和接收分享通知。

直接下载二进制文件

如果你的服务器不方便使用 Docker,也可以前往 GitHub Releases 页面下载对应平台的二进制文件。解压后赋予执行权限即可运行:

tar -zxvf cloudreve_3.8.3_linux_amd64.tar.gz
chmod +x cloudreve
./cloudreve

默认监听 5212 端口,浏览器访问 http://服务器IP:5212 即可看到登录界面。

配置反向代理

生产环境中通常需要通过 Nginx 反向代理并配置 HTTPS:

server {
    listen 80;
    server_name pan.example.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name pan.example.com;

    ssl_certificate     /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    client_max_body_size 10240m;  # 允许大文件上传

    location / {
        proxy_pass http://127.0.0.1:5212;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

挂载对象存储

以阿里云 OSS 为例,在后台「存储策略」中新增一个 OSS 策略,填入 AccessKey、Secret、Endpoint、Bucket 等信息即可。之后创建用户组时选择这个存储策略,该组用户上传的文件就会自动保存到 OSS 中,且走客户端直传,不占用服务器带宽。

使用场景

Cloudreve 的定位决定了它的应用场景非常广泛,下面列举几个典型的真实用例。

家庭影音库

搭配 Aria2 和阿里云 OSS(或 OneDrive),可以把 Cloudreve 打造成一个私人影视库。家人朋友通过分享链接直接观看 4K 视频,服务器零流量压力,所有元数据(电影海报、字幕、分辨率)都自动提取并展示。

小团队文件协作

10 人以下的创业团队可以用 Cloudreve 替代 Dropbox 或钉盘。管理员创建「设计师」「开发」「运营」等用户组,分别挂载不同的存储策略和容量限额。临时合作方通过带过期时间的分享链接获取文件,到期自动失效,避免资料外泄。

资源下载站

通过 Docker Compose 同时部署 Cloudreve + Aria2,把磁力链接粘贴到 Web 界面即可离线下载,支持多下载节点负载均衡。下载完成后的文件自动进入云盘,可以直接生成分享链接外发,非常适合 PT 玩家或者资源分享类站点。

个人文档备份

将本地重要文件通过 WebDAV 挂载到 Cloudreve,结合定时脚本(如 rclone)自动同步到 OneDrive 或 S3,实现本地 + 云端双重备份。WebDAV 也支持 macOS Finder、Windows 资源管理器原生挂载,体验与本地磁盘无异。

Cloudreve 仓库

注意事项

虽然 Cloudreve 上手简单,但想要长期稳定运行仍有几个要点需要关注。

数据库备份至关重要。 默认使用 SQLite,生产环境建议切换到 MySQL 或 PostgreSQL,并通过定时任务备份数据库

项目信息

项目
仓库 cloudreve/cloudreve
语言 Go
Star 28,134
Fork 3,849
主页 https://cloudreve.org

参考链接