现象
私有部署FastGPT 4.14.11版本,使用Docker Compose部署并配置自建MinIO存储时,若添加STORAGE_EXTERNAL_ENDPOINT环境变量,fastgpt容器会在启动阶段持续重启,外部站点返回502错误。查看容器日志可发现报错信息:Failed to ensure external public bucket exists、System initialization failed [s3_error] public bucket: UnknownError。若删除该环境变量,保留其余MinIO相关配置,fastgpt可正常启动,日志显示System initialized successfully,站点恢复正常。
可能原因
该版本FastGPT在启动时会对配置的STORAGE_EXTERNAL_ENDPOINT进行校验,当校验失败时会直接终止主服务启动流程,属于该版本的异常行为。该环境变量本用于签发文件上传URL,当前的启动校验逻辑不符合预期。
排查步骤
- 确认FastGPT版本为4.14.11,部署方式为Docker Compose。
- 检查fastgpt服务的环境变量配置,确认是否包含
STORAGE_EXTERNAL_ENDPOINT、STORAGE_S3_ENDPOINT、STORAGE_PUBLIC_BUCKET、STORAGE_PRIVATE_BUCKET等相关参数。 - 执行
docker logs fastgpt查看容器启动日志,确认是否存在Failed to ensure external public bucket exists或s3_error相关报错。 - 验证外部MinIO端点
https://minio.xxx.com的可访问性,需按实际环境确认网络连接、证书配置等情况。
解决与验证
临时解决方法为移除STORAGE_EXTERNAL_ENDPOINT环境变量,保留其余MinIO相关配置。移除后重新执行docker compose up -d启动服务,可观察到fastgpt容器正常运行,日志显示System initialized successfully,外部站点恢复正常。若需保留该环境变量用于签发文件上传URL,需确保外部端点可正常访问且配置正确,需按实际环境调整相关网络或证书设置。