78 lines
2.0 KiB
Bash
78 lines
2.0 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
|
|||
|
|
# CarrotSkin 环境变量检查脚本
|
|||
|
|
|
|||
|
|
echo "🔍 检查 CarrotSkin 环境变量配置..."
|
|||
|
|
|
|||
|
|
# 必需的环境变量列表
|
|||
|
|
REQUIRED_VARS=(
|
|||
|
|
"DATABASE_HOST"
|
|||
|
|
"DATABASE_USERNAME"
|
|||
|
|
"DATABASE_PASSWORD"
|
|||
|
|
"DATABASE_NAME"
|
|||
|
|
"RUSTFS_ENDPOINT"
|
|||
|
|
"RUSTFS_ACCESS_KEY"
|
|||
|
|
"RUSTFS_SECRET_KEY"
|
|||
|
|
"JWT_SECRET"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
# 检查.env文件是否存在
|
|||
|
|
if [ ! -f ".env" ]; then
|
|||
|
|
echo "❌ .env 文件不存在"
|
|||
|
|
echo "💡 请复制 .env.example 为 .env 并配置相关变量"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "✅ .env 文件存在"
|
|||
|
|
|
|||
|
|
# 加载.env文件
|
|||
|
|
source .env 2>/dev/null
|
|||
|
|
|
|||
|
|
# 检查必需的环境变量
|
|||
|
|
missing_vars=()
|
|||
|
|
for var in "${REQUIRED_VARS[@]}"; do
|
|||
|
|
if [ -z "${!var}" ]; then
|
|||
|
|
missing_vars+=("$var")
|
|||
|
|
fi
|
|||
|
|
done
|
|||
|
|
|
|||
|
|
if [ ${#missing_vars[@]} -gt 0 ]; then
|
|||
|
|
echo "❌ 缺少以下必需的环境变量:"
|
|||
|
|
for var in "${missing_vars[@]}"; do
|
|||
|
|
echo " - $var"
|
|||
|
|
done
|
|||
|
|
echo ""
|
|||
|
|
echo "💡 请在 .env 文件中设置这些变量"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "✅ 所有必需的环境变量都已设置"
|
|||
|
|
|
|||
|
|
# 检查关键配置的合理性
|
|||
|
|
echo ""
|
|||
|
|
echo "📋 当前配置概览:"
|
|||
|
|
echo " 数据库: $DATABASE_USERNAME@$DATABASE_HOST:$DATABASE_PORT/$DATABASE_NAME"
|
|||
|
|
echo " RustFS: $RUSTFS_ENDPOINT"
|
|||
|
|
echo " JWT密钥长度: ${#JWT_SECRET} 字符"
|
|||
|
|
|
|||
|
|
# 检查JWT密钥长度
|
|||
|
|
if [ ${#JWT_SECRET} -lt 32 ]; then
|
|||
|
|
echo "⚠️ JWT密钥过短,建议使用至少32字符的随机字符串"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 检查默认密码
|
|||
|
|
if [ "$JWT_SECRET" = "your-jwt-secret-key-change-this-in-production" ]; then
|
|||
|
|
echo "⚠️ 使用的是默认JWT密钥,生产环境中请更改"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
if [ "$DATABASE_PASSWORD" = "123456" ] || [ "$DATABASE_PASSWORD" = "your_password_here" ]; then
|
|||
|
|
echo "⚠️ 使用的是默认数据库密码,生产环境中请更改"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
if [ "$RUSTFS_ACCESS_KEY" = "your_access_key" ] || [ "$RUSTFS_SECRET_KEY" = "your_secret_key" ]; then
|
|||
|
|
echo "⚠️ 使用的是默认RustFS凭证,生产环境中请更改"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
echo "🎉 环境变量检查完成!"
|