快速结论:该报错由部署脚本生成的 bucket.config.json 中键名大小写错误引起:JSON 中将 "ID" 写成了全大写,而 RustFS/MinIO 期望的是 "Id"。优先排查并修正该 JSON 文件中的键名。
适用环境:LobeChat 自托管 Docker Compose 部署,操作系统为 Linux,使用官方部署脚本 bash <(curl -fsSL https://lobe.li/setup.sh) -l zh_CN 安装。问题出现在 rustfs-init 初始化容器阶段。
最快修复方案:将部署目录中的 bucket.config.json 文件内的 "ID" 改为 "Id",然后重启 Docker Compose 服务。已确认此方案可解决该报错。
注意事项:该修复方案由社区反馈确认,Issue 中已被标记为已知问题,且此前已有类似 issue 被报告。若你的部署目录不是默认位置,需要根据实际情况替换路径。
问题场景
用户在 Linux 上通过官方部署脚本执行 LobeChat 自托管 Docker Compose 安装时,初始化容器 rustfs-init 执行失败,导致部署中断。报错信息指向 S3 存储桶创建失败,具体是因为 MinIO 客户端(mc)解析存储桶策略文件时遇到无法识别的字段。
报错原文
service "rustfs-init" didn't complete successfully: exit 1
mc: <ERROR> Unable to make bucket `rustfs/lobe`. Io error: unknown field `ID`, expected one of `Id`, `Version`, `Statement` at line 2 column 6
原因分析
可能原因:部署脚本生成的 bucket.config.json 文件中,第一行的键名被错误地写成全大写的 "ID",而 AWS/IAM 策略语法规范要求该字段必须为 "Id"(首字母大写,后跟小写字母 d)。MinIO 客户端在解析该策略文件时会严格校验字段名,因此引发了此错误。这属于部署脚本中的一个已知缺陷,在部分版本安装脚本中仍然存在。
环境排查
- 确认部署目录位置:常见路径为
/opt/lobehub,可通过查找docker-compose.yml或setup.sh文件确认。 - 检查
bucket.config.json文件内容,确认第一行是否为"ID": ""。
解决步骤
- 定位部署目录,例如:
cd /opt/lobehub。 - 执行如下命令修正 JSON 文件中的键名大小写:
sed -i 's/"ID"/"Id"/' /path/to/lobehub/bucket.config.json(将
/path/to/lobehub替换为实际目录)。 - 重新启动 Docker Compose 服务:
cd /path/to/lobehub && docker compose up -d - 等待
rustfs-init容器执行完成,确认不再出现报错。
验证方法
执行 docker ps 查看容器状态,确认 rustfs-init 已进入 exited 状态且退出码为 0。同时可执行 docker logs rustfs-init,若日志末尾出现类似 Bucket created successfully 或不再出现 Io error 报错,则说明问题已解决。
参考来源
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


![[BUG]: Fetch Failed (or did it actuall not??)](https://www.chat-gpts.plus/wp-content/uploads/2026/08/6127-fc3f8e1f-768x403.jpg)