修改数据库配置

This commit is contained in:
孙小云 2025-05-28 17:53:55 +08:00
parent 16b65da888
commit cbb5c3f10d
1 changed files with 78 additions and 0 deletions

View File

@ -36,6 +36,14 @@ if [ -z "$MINIO_ROOT_PASSWORD" ]; then
echo "错误: 未找到 MINIO_ROOT_PASSWORD 环境变量"
exit 1
fi
if [ -z "$MINIO_ACCESS_KEY" ]; then
echo "错误: 未找到 MINIO_ACCESS_KEY 环境变量"
exit 1
fi
if [ -z "$MINIO_SECRET_KEY" ]; then
echo "错误: 未找到 MINIO_SECRET_KEY 环境变量"
exit 1
fi
if docker ps -a | grep -q ${MINIO_NAME}; then
echo "停止并删除已存在的 MinIO 容器..."
@ -55,3 +63,73 @@ docker run -d \
-e MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD} \
-v "${MINIO_DATA}:/data" \
$MINIO_IMAGE server /data --console-address ":9001"
# 等待 MinIO 服务启动
echo "等待 MinIO 服务启动..."
sleep 10
# 创建 MinIO 服务账号配置目录
mkdir -p $(pwd)/volumes/minio/policies
# 创建 MinIO 服务账号配置文件
cat > $(pwd)/volumes/minio/policies/mqtt-policy.json << EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"admin:*"
]
},
{
"Effect": "Allow",
"Action": [
"kms:*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::*"
]
}
]
}
EOF
# 创建 MinIO 服务账号
echo "创建 MinIO 服务账号..."
docker exec ${MINIO_NAME} mc alias set myminio http://localhost:9000 ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD}
docker exec ${MINIO_NAME} mc admin user add myminio ${MINIO_ACCESS_KEY} ${MINIO_SECRET_KEY}
# 将策略文件复制到容器内
docker cp $(pwd)/volumes/minio/policies/mqtt-policy.json ${MINIO_NAME}:/tmp/mqtt-policy.json
# 创建和附加策略
docker exec ${MINIO_NAME} mc admin policy create myminio mqtt-policy /tmp/mqtt-policy.json
docker exec ${MINIO_NAME} mc admin policy attach myminio mqtt-policy --user ${MINIO_ACCESS_KEY}
# 清理临时文件
docker exec ${MINIO_NAME} rm /tmp/mqtt-policy.json
# 创建所需的 bucket
echo "创建所需的 bucket..."
for bucket in default image ta-tech-image th-airport th-dsp video; do
echo "处理 bucket: $bucket"
# 检查 bucket 是否存在
if ! docker exec ${MINIO_NAME} mc ls myminio/$bucket >/dev/null 2>&1; then
echo "创建 bucket: $bucket"
docker exec ${MINIO_NAME} mc mb myminio/$bucket
else
echo "bucket $bucket 已存在"
fi
# 设置 bucket 为 public
echo "设置 bucket $bucket 为 public"
docker exec ${MINIO_NAME} mc anonymous set public myminio/$bucket
done
echo "MinIO 服务账号和 bucket 创建完成"