首页
/ Cloudreve项目Docker-Compose部署指南

Cloudreve项目Docker-Compose部署指南

2025-07-05 05:52:12作者:伍霜盼Ellen

概述

Cloudreve是一款功能强大的自建云存储解决方案,支持多种存储后端和丰富的文件管理功能。本文将详细介绍如何使用Docker-Compose快速部署Cloudreve及其依赖服务。

部署架构解析

这个docker-compose.yml文件定义了一个完整的Cloudreve部署方案,包含三个核心服务:

  1. Cloudreve主服务:提供核心文件管理功能
  2. PostgreSQL数据库:存储用户数据、文件元数据等结构化信息
  3. Redis服务:处理缓存和会话管理等高频访问数据

这种架构设计遵循了现代应用的最佳实践,将不同功能模块解耦,提高了系统的可维护性和扩展性。

服务配置详解

Cloudreve主服务配置

pro:
  image: cloudreve/cloudreve:latest
  container_name: cloudreve-backend
  depends_on:
    - postgresql
    - redis
  restart: always
  ports:
    - 5212:5212
  environment:
    - CR_CONF_Database.Type=postgres
    - CR_CONF_Database.Host=postgresql
    - CR_CONF_Database.User=cloudreve
    - CR_CONF_Database.Name=cloudreve
    - CR_CONF_Database.Port=5432
    - CR_CONF_Redis.Server=redis:6379
  volumes:
    - backend_data:/cloudreve/data

关键配置说明:

  • 使用官方最新镜像,确保获取最新功能和修复
  • 通过depends_on确保数据库和Redis服务先启动
  • 5212端口映射,这是Cloudreve默认HTTP服务端口
  • 环境变量配置数据库连接信息,使用PostgreSQL作为后端存储
  • 挂载数据卷持久化用户上传的文件和配置

PostgreSQL数据库配置

postgresql:
  image: postgres:latest
  container_name: postgresql
  environment:
    - POSTGRES_USER=cloudreve
    - POSTGRES_DB=cloudreve
    - POSTGRES_HOST_AUTH_METHOD=trust
  volumes:
    - database_postgres:/var/lib/postgresql/data

配置要点:

  • 使用官方PostgreSQL镜像
  • 创建专用用户和数据库,均命名为cloudreve
  • 简化认证方式(生产环境应考虑更安全的认证方式)
  • 数据卷持久化数据库文件

Redis缓存服务配置

redis:
  image: redis:latest
  container_name: redis
  volumes:
    - redis_data:/data

配置说明:

  • 使用官方Redis镜像
  • 数据卷持久化Redis数据
  • 采用默认配置,适合大多数场景

数据持久化方案

文件定义了三个命名卷用于数据持久化:

volumes:
  backend_data:
  database_postgres:
  redis_data:

这种设计确保了:

  • 用户上传的文件不会因容器重启而丢失
  • 数据库记录永久保存
  • Redis缓存数据可以持久化(根据配置)

部署步骤

  1. 确保已安装Docker和Docker-Compose
  2. 创建docker-compose.yml文件,内容如上
  3. 在文件所在目录执行:docker-compose up -d
  4. 等待所有服务启动完成
  5. 访问http://服务器IP:5212即可使用Cloudreve

生产环境建议

  1. 安全加固

    • 为PostgreSQL设置强密码
    • 考虑启用Redis认证
    • 配置HTTPS访问
  2. 性能优化

    • 根据用户量调整PostgreSQL和Redis资源限制
    • 考虑添加Redis密码认证
  3. 备份策略

    • 定期备份数据库卷
    • 实现文件存储的异地备份

常见问题解决

  1. 端口冲突:如果5212端口被占用,可修改ports映射为其他端口
  2. 初始化失败:检查PostgreSQL和Redis日志,确保服务正常启动
  3. 性能问题:可考虑为数据库服务添加资源限制

通过这个docker-compose配置,开发者可以快速搭建一个功能完整的Cloudreve云存储平台,为个人或团队提供高效的文件管理解决方案。