Cloudreve 自助部署完全指南

Cloudreve 自助部署完全指南

【免费下载链接】Cloudreve 🌩支持多家云存储的云盘系统 (Self-hosted file management and sharing system, supports multiple storage providers) 【免费下载链接】Cloudreve 项目地址: https://gitcode.com/gh_mirrors/cl/Cloudreve

🎯 痛点直击:为什么你需要Cloudreve?

还在为文件管理烦恼吗?多个云存储账号分散管理,文件分享困难,存储成本高昂?Cloudreve 作为一款开源的云存储聚合系统,让你一站式管理多家云存储,支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、华为云 OBS、又拍云、OneDrive、S3 兼容协议等多种存储后端。

读完本文,你将获得:

  • ✅ Cloudreve 核心功能深度解析
  • ✅ 三种部署方式详细步骤(Docker、源码编译、二进制)
  • ✅ 生产环境配置最佳实践
  • ✅ 性能优化与故障排查指南
  • ✅ 安全加固与备份策略

🏗️ 技术架构概览

Cloudreve 采用现代化的技术栈构建:

mermaid

🚀 部署方式对比

部署方式难度维护成本适用场景推荐指数
Docker Compose⭐⭐⭐⭐生产环境、快速部署⭐⭐⭐⭐⭐
二进制部署⭐⭐⭐⭐⭐轻量级、资源受限⭐⭐⭐⭐
源码编译⭐⭐⭐⭐⭐⭐⭐定制开发、深度集成⭐⭐⭐

📦 方案一:Docker Compose 部署(推荐)

环境要求

  • Docker 20.10+
  • Docker Compose 2.0+
  • 至少 2GB 内存
  • 50GB+ 存储空间

部署步骤

  1. 创建项目目录
mkdir cloudreve && cd cloudreve
  1. 创建 docker-compose.yml
version: '3.8'

services:
  cloudreve:
    image: cloudreve/cloudreve:latest
    container_name: cloudreve
    restart: unless-stopped
    ports:
      - "5212:5212"
    environment:
      - CR_CONF_Database.Type=sqlite
      - CR_CONF_Database.DB=/cloudreve/data/cloudreve.db
      - CR_CONF_Redis.Server=redis:6379
    volumes:
      - ./data:/cloudreve/data
      - ./uploads:/cloudreve/uploads
    depends_on:
      - redis

  redis:
    image: redis:alpine
    container_name: redis
    restart: unless-stopped
    volumes:
      - redis_data:/data
    command: redis-server --appendonly yes

volumes:
  redis_data:
  1. 创建配置文件
mkdir -p data uploads
  1. 启动服务
docker-compose up -d
  1. 查看初始密码
docker logs cloudreve 2>&1 | grep "password"

高级配置示例

支持 PostgreSQL 数据库的配置:

environment:
  - CR_CONF_Database.Type=postgres
  - CR_CONF_Database.Host=postgresql
  - CR_CONF_Database.Port=5432
  - CR_CONF_Database.User=cloudreve
  - CR_CONF_Database.Password=your_password
  - CR_CONF_Database.Name=cloudreve
  - CR_CONF_Redis.Server=redis:6379

🔧 方案二:二进制部署

下载最新版本

# 获取最新版本号
LATEST_VERSION=$(curl -s https://api.github.com/repos/cloudreve/Cloudreve/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')

# 下载对应架构的二进制文件
wget https://github.com/cloudreve/Cloudreve/releases/download/${LATEST_VERSION}/cloudreve_${LATEST_VERSION}_linux_amd64.tar.gz

# 解压
tar -zxvf cloudreve_${LATEST_VERSION}_linux_amd64.tar.gz
chmod +x cloudreve

创建系统服务

sudo tee /etc/systemd/system/cloudreve.service > /dev/null <<EOF
[Unit]
Description=Cloudreve
After=network.target

[Service]
Type=simple
ExecStart=/path/to/cloudreve
WorkingDirectory=/path/to/cloudreve
Restart=always
RestartSec=5
User=www-data
Group=www-data

[Install]
WantedBy=multi-user.target
EOF

启动服务

sudo systemctl daemon-reload
sudo systemctl enable cloudreve
sudo systemctl start cloudreve

🛠️ 方案三:源码编译部署

环境准备

# 安装 Go 1.23+
wget https://golang.org/dl/go1.23.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.23.0.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc

# 安装 Node.js 和 npm
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

编译步骤

# 克隆仓库
git clone https://gitcode.com/gh_mirrors/cl/Cloudreve
cd Cloudreve

# 编译前端
cd frontend
npm install
npm run build

# 编译后端
cd ..
go mod download
go build -o cloudreve

⚙️ 核心配置详解

数据库配置

database:
  type: "mysql"  # sqlite, mysql, postgres
  host: "localhost"
  port: 3306
  user: "cloudreve"
  password: "your_password"
  name: "cloudreve"
  table_prefix: "cr_"

Redis 配置

redis:
  server: "localhost:6379"
  password: ""
  db: 0

存储策略配置

policies:
  - name: "本地存储"
    type: "local"
    bucket_name: "uploads"
    base_path: "./uploads"
    
  - name: "阿里云OSS"
    type: "oss"
    bucket_name: "your-bucket"
    endpoint: "oss-cn-hangzhou.aliyuncs.com"
    access_key: "your_access_key"
    secret_key: "your_secret_key"

🔒 安全加固指南

1. SSL/TLS 配置

server {
    listen 443 ssl http2;
    server_name your-domain.com;
    
    ssl_certificate /path/to/fullchain.pem;
    ssl_certificate_key /path/to/privkey.pem;
    
    location / {
        proxy_pass http://localhost:5212;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

2. 防火墙配置

# 只开放必要端口
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 22/tcp
sudo ufw enable

3. 定期备份策略

#!/bin/bash
# 备份脚本
BACKUP_DIR="/backup/cloudreve"
DATE=$(date +%Y%m%d_%H%M%S)

# 备份数据库
docker exec cloudreve pg_dump -U cloudreve cloudreve > $BACKUP_DIR/db_$DATE.sql

# 备份上传文件
tar -czf $BACKUP_DIR/uploads_$DATE.tar.gz /path/to/uploads

# 保留最近7天备份
find $BACKUP_DIR -name "*.sql" -mtime +7 -delete
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete

📊 性能优化配置

数据库连接池优化

database:
  max_idle_conns: 10
  max_open_conns: 100
  conn_max_lifetime: "1h"

Redis 连接优化

redis:
  pool_size: 10
  pool_timeout: "30s"
  idle_timeout: "5m"

文件上传优化

upload:
  chunk_size: "10MB"
  max_size: "10GB"
  concurrent: 3

🐛 常见问题排查

问题1:端口冲突

# 检查端口占用
netstat -tlnp | grep 5212
lsof -i :5212

# 修改端口
environment:
  - CR_CONF_Server.Port=8080

问题2:权限错误

# 修复文件权限
sudo chown -R www-data:www-data /path/to/cloudreve
sudo chmod -R 755 /path/to/cloudreve

问题3:存储空间不足

# 检查磁盘空间
df -h

# 清理临时文件
find /tmp -name "cloudreve*" -mtime +1 -delete

📈 监控与日志

启用详细日志

log:
  level: "debug"
  output: "file"
  file: "/var/log/cloudreve.log"
  max_size: "100MB"
  max_backups: 10
  max_age: 30

健康检查端点

# 检查服务状态
curl http://localhost:5212/api/v3/site/status

# 监控接口响应
curl http://localhost:5212/api/v3/site/stat

🎯 部署验收清单

完成部署后,请检查以下项目:

  •  服务能够正常启动
  •  Web 界面可以访问
  •  文件上传下载功能正常
  •  数据库连接正常
  •  Redis 连接正常
  •  SSL 证书配置正确
  •  备份策略已设置
  •  监控告警已配置

🔮 未来扩展建议

  1. 集群部署:通过负载均衡实现高可用
  2. CDN 加速:静态资源通过 CDN 分发
  3. 对象存储:迁移到云原生对象存储
  4. 自动伸缩:基于流量自动扩容
  5. 多地域部署:实现全球网络加速

💡 总结

Cloudreve 作为一款功能强大的自建云盘系统,通过本文的详细部署指南,你应该能够顺利完成生产环境的部署。记住选择合适的部署方式,做好安全加固和定期备份,你的私有云存储系统就能稳定运行。

如果遇到问题,可以查看详细日志或参考官方文档。Happy deploying!


提示:部署完成后记得修改默认密码,定期更新版本,做好数据备份工作。

【免费下载链接】Cloudreve 🌩支持多家云存储的云盘系统 (Self-hosted file management and sharing system, supports multiple storage providers) 【免费下载链接】Cloudreve 项目地址: https://gitcode.com/gh_mirrors/cl/Cloudreve

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值