cloudreve默认仅监听127.0.0.1:5212,需显式配置host=0.0.0.0或正确映射端口并开放防火墙与云安全组;docker部署推荐指定镜像版本(如3.8.3)避免滞后bug,同时严格校验uploads目录uid为1001及sqlite路径权限,首次访问必须通过/install路径完成初始化。

Cloudreve 不是“装完就能用”的网盘,它默认只监听 127.0.0.1:5212,不配好网络和存储,连自己服务器都访问不了。二进制部署最轻量,但得手动处理进程守护、HTTPS、反向代理;Docker 部署省事,但 /data/cloudreve/uploads 目录权限、镜像版本滞后、日志获取方式容易出错。
怎么选部署方式:二进制 vs Docker
二进制适合想控制每个环节的人——比如你打算把上传目录挂到 NAS 的 NFS 共享点,或要用 systemd 统一管理多个服务;Docker 适合只想快速跑起来、后续不常改配置的用户。但注意:cloudreve/cloudreve:latest 镜像经常滞后于 GitHub 最新 Release(比如当前最新是 v3.8.3,而镜像可能还卡在 v3.4.2),直接拉 latest 容易遇到已知 bug。
推荐做法:
- 新手先用
docker run -d --name cloudreve -p 5212:5212 -v /data/cloudreve:/cloudreve cloudreve/cloudreve:3.8.3(显式指定版本) - 生产环境用二进制 +
systemd,便于绑定用户、限制内存、集成监控 - 别用宝塔“一键部署”插件——它生成的
Supervisor配置常漏掉Environment=变量,导致数据库路径或时区错乱
启动后打不开网页?检查这三处绑定
90% 的“访问失败”问题出在监听地址没放开。Cloudreve 默认只绑本地回环,docker logs cloudreve 输出里如果看到 listening on 127.0.0.1:5212,说明外部请求根本进不来。
解决方法:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 二进制部署:编辑
conf.ini,确认host = 0.0.0.0(不是127.0.0.1)且port = 5212 - Docker 部署:确保
-p 5212:5212映射正确,且宿主机防火墙放行该端口(sudo ufw allow 5212或sudo firewall-cmd --add-port=5212/tcp --permanent) - 云服务器额外检查:安全组(如阿里云/腾讯云控制台)必须手动放行 TCP:5212,这个和系统防火墙是两层
上传文件失败或预览空白?重点看 uploads 目录权限
Cloudreve 运行时以非 root 用户身份写入 /cloudreve/uploads,Docker 容器内默认用 uid=1001,如果宿主机 /data/cloudreve/uploads 所属用户不是 1001,就会报 permission denied 或静默失败。
验证和修复步骤:
- 执行
ls -ld /data/cloudreve/uploads,看输出第三列是否为1001 - 如果不是,运行
sudo chown -R 1001:1001 /data/cloudreve/uploads - 别用
chmod 777——Cloudreve 会拒绝启动,报错unsafe permission on upload directory - 如果挂了 NAS 或 NFS,确认远程文件系统支持
user_xattr和acl挂载选项,否则头像、缩略图生成会失败
为什么登录后看不到存储策略?别跳过初始化向导
Cloudreve 启动后首次访问会强制走初始化向导(/install),但很多人直接输 http://ip:5212 进后台,结果看到空白页或 404——因为没触发安装流程。
必须步骤:
- 浏览器打开
http://你的IP:5212/install(带/install路径) - 填数据库信息时,SQLite 就填
./cloudreve.db(相对路径),别写绝对路径;MySQL 则确保host填的是容器能解析的地址(Docker 里填host.docker.internal,不是127.0.0.1) - 完成向导后,系统自动生成管理员账号,密码在终端日志里(
docker logs cloudreve | grep "password"),不是页面上显示的“初始密码” - 向导结束后,
/install路由自动禁用,再访问会 404,这是正常行为
最常被忽略的是 SQLite 数据库路径权限和 Docker 容器内外 UID 不一致——这两点不提前校验,后面所有功能(分享链接、离线下载、定时任务)都会断在奇怪的地方。










