现象
在私有部署的FastGPT 4.14.11版本中,使用Docker Compose部署且配置STORAGE_VENDOR=minio等相关存储环境变量时,若添加STORAGE_EXTERNAL_ENDPOINT=https://minio.xxx.com配置,fastgpt容器会启动失败并持续重启,外部站点返回502错误。删除该环境变量后,容器可正常启动,日志显示System initialized successfully,站点恢复正常。关键报错信息为Failed to ensure external public bucket exists和System initialization failed [s3_error] public bucket: UnknownError。
可能原因
该问题属于FastGPT 4.14.11版本的回归问题,当配置STORAGE_EXTERNAL_ENDPOINT后,系统会执行外部存储桶的健康校验逻辑,若校验失败会直接终止主服务启动流程,而非跳过校验继续运行。
排查步骤
- 确认当前FastGPT版本为4.14.11,部署方式为Docker Compose,使用自建MinIO作为对象存储。
- 检查fastgpt服务的环境变量配置,确认是否包含
STORAGE_EXTERNAL_ENDPOINT参数。 - 查看fastgpt容器的启动日志,搜索
Failed to ensure external public bucket exists或System initialization failed [s3_error] public bucket: UnknownError报错信息。 - 验证外部MinIO反代域名
https://minio.xxx.com的可访问性,确认对应存储桶fastgpt-public和fastgpt-private是否已创建(需按实际环境确认)。
解决与验证
解决方式
- 移除
STORAGE_EXTERNAL_ENDPOINT环境变量:若无需使用外部端点签发文件上传URL,可直接删除该配置,容器即可正常启动。 - 修复外部存储访问问题:若需要保留该配置,需排查外部端点的访问故障,确保MinIO的反代域名
https://minio.xxx.com可正常对外提供服务,且对应存储桶已提前创建(需按实际环境确认)。
验证方式
配置完成后执行docker compose up -d,观察fastgpt容器状态,若容器无重启且正常运行,访问站点返回正常内容,且日志显示System initialized successfully则验证成功。
来源:https://github.com/labring/FastGPT/issues/6770