自定义 S3 对象存储桶配置指南
本文档介绍如何在微搭私有化版本中配置和使用自定义的 S3 对象存储服务。
存储桶与配置参数对应关系(S3/MinIO 通用):
defaultBucket: lowcode-static- 用于存储静态资源cloudStorageBucket: lowcode-storage- 用于存储应用数据ciSourceBucket: lowcode-ci- 用于存储 CI/CD 相关文件
无论使用腾讯云 COS、AWS S3、MinIO 还是其他兼容 S3 协议的对象存储服务,都需要创建上述三个存储桶,并在配置文件中使用相应的参数名称。
使用 Docker 启动的 Minio 对象存储不具备高可用性,不推荐用作生产环境存储文件。平台强烈建议连接用户自有的外部对象存储服务。
1. S3 对象存储配置
本指南以 腾讯云对象存储 COS 为例进行配置演示。其他云厂商的对象存储服务,只要支持标准 S3 接口协议,均可支持,具体配置请根据实际情况调整。
存储桶名称可根据实际需求自行定义
1.1 创建 lowcode-static 存储桶

配置步骤:
创建存储桶
- 点击"下一步"完成存储桶创建
配置权限策略
- 进入路径:存储桶列表 → 选择存储桶 → 权限管理 → Policy 权限策略 → 添加权限
添加策略配置
TCS 平台特别配置针对 TCS 平台上的 CSP 对象存储服务,需要按照以下图示进行策略配置:

完成配置
- 点击"完成"保存配置
1.2 创建 lowcode-storage 存储桶

配置步骤:
设置权限策略
- 进入路径:存储桶列表 → 选择存储桶 → 权限管理 → Policy 权限策略 → 添加权限
添加策略

1.3 创建 lowcode-ci 存储桶
此存储桶不需要设置只读策略

2. MinIO 对象存储配置
MinIO 是一个高性能的分布式对象存储服务,兼容 Amazon S3 API。本节介绍如何配置 MinIO 对象存储服务。
使用 Docker 启动的 MinIO 对象存储不具备高可用性,不推荐用作生产环境存储文件。生产环境建议使用 MinIO 集群模式或云厂商的对象存储服务。
2.1 创建存储桶
在 MinIO 中创建以下三个存储桶:
lowcode-static:用于存储静态资源lowcode-storage:用于存储应用数据lowcode-ci:用于存储 CI/CD 相关文件
2.2 配置存储桶权限
lowcode-static 桶权限配置
为 lowcode-static 存储桶设置公共读取权限,允许匿名用户访问静态资源。
权限策略配置界面:

权限策略 JSON 配置:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::lowcode-static/*"
]
}
]
}
lowcode-ci 桶权限配置
为 lowcode-ci 存储桶设置与 lowcode-static 相同的公共读取权限。
权限策略 JSON 配置:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::lowcode-ci/lcp/*"
]
}
]
}
- 该策略允许所有用户(
"AWS": ["*"])对lowcode-static存储桶中的所有对象执行s3:GetObject操作 - 这确保了静态资源可以被公开访问,满足 Web 应用的资源加载需求
lowcode-ci存储桶需要设置与lowcode-static相同的公共读取权限- 只有
lowcode-storage存储桶不需要设置公共读取权限
2.3 MinIO 配置参数
在配置文件中使用以下 MinIO 配置参数:
customS3:
enabled: true
endpoint: your-minio-server.com # MinIO 服务器地址
port: 9000 # MinIO 端口(默认 9000)
scheme: http # 协议(http 或 https)
accessKey: "your-access-key" # MinIO Access Key
secretKey: "your-secret-key" # MinIO Secret Key
# 存储桶配置
defaultBucket: lowcode-static
cloudStorageBucket: lowcode-storage
ciSourceBucket: lowcode-ci
pathStyle: true # MinIO 使用 path-style 访问
region: us-east-1 # MinIO 默认区域
- MinIO 默认使用
pathStyle: true,与云厂商 S3 服务不同 - 确保 MinIO 服务器的网络连通性和防火墙配置
- Access Key 和 Secret Key 需要具有存储桶的完整读写权限
3. 单机版配置与安装
3.1 可视化部署方式
单机版支持通过可视化界面配置外部 S3 中间件
操作步骤:
- 在浏览器中访问安装器页面:
http://<服务器IP>:38080 - 在配置页面中开启外部 S3 中间件配置

3.2 脚本部署方式
在 config.yaml 文件中添加以下 S3 配置:
customS3:
enabled: true
endpoint: cos.ap-guangzhou.myqcloud.com
port: 443
scheme: https
accessKey: "" # 填入您的 AccessKey
secretKey: "" # 填入您的 SecretKey
# 存储桶配置(需要与前面创建的存储桶名称一致)
defaultBucket: lowcode-static-{appid} # 对应 1.1 步骤创建的存储桶
cloudStorageBucket: lowcode-storage-{appid} # 对应 1.2 步骤创建的存储桶
ciSourceBucket: lowcode-ci-{appid} # 对应 1.3 步骤创建的存储桶
pathStyle: false
region: ap-guangzhou # 根据实际地域调整
- 请确保
accessKey和secretKey具有对应存储桶的读写权限 - 存储桶名称必须与前面创建的存储桶名称完全一致
- 地域
region需要与存储桶所在地域匹配
3.3 安装部署
配置完成后,参考 私有化部署流程 进行部署。
4. 集群版配置安装
4.1 添加配置信息
编辑集群安装目录下的 config.yaml 文件:
如果没有 config.yaml 文件,请先运行命令 ./wedaCli init 生成该文件
s3:
endpoint: cos.ap-guangzhou.myqcloud.com
port: 443
scheme: https
accessKey: # 填入您的 AccessKey
secretKey: # 填入您的 SecretKey
insecureSkipVerify: true
# 存储桶配置(需要与前面创建的存储桶名称一致)
defaultBucket: lowcode-static-{appid} # 对应 1.1 步骤创建的存储桶
cloudStorageBucket: lowcode-storage-{appid} # 对应 1.2 步骤创建的存储桶
ciSource: lowcode-ci-{appid} # 对应 1.3 步骤创建的存储桶
region: ap-guangzhou # 根据实际地域调整
pathStyle: false
- 确保所有集群节点都能访问配置的 S3 存储服务
- 验证网络连通性和访问权限
- 存储桶名称必须与前面创建的存储桶名称完全一致
4.2 安装部署
配置完成后,运行以下命令进行部署:
# 启动集群部署
./wedaCli up
配置检查清单
在完成配置后,请确认以下项目:
- ✅ 已创建三个必需的存储桶(static、storage、ci)
- ✅ lowcode-static 存储桶已配置正确的权限策略
- ✅ AccessKey 和 SecretKey 具有足够的权限
- ✅ 网络连通性正常(防火墙、安全组配置)
- ✅ 地域配置与存储桶实际地域一致
- ✅ 存储桶名称在配置文件中正确填写
故障排查
如果遇到配置问题,请检查:
- 权限问题:确认 AccessKey 具有存储桶的读写权限
- 网络问题:检查服务器到 S3 服务的网络连通性
- 配置问题:验证存储桶名称、地域等配置信息的准确性
- 日志查看:通过系统日志排查具体错误信息