Files
backend/scripts/check-env.sh
lan 4b4980820f
Some checks failed
SonarQube Analysis / sonarqube (push) Has been cancelled
Test / test (push) Has been cancelled
Test / lint (push) Has been cancelled
Test / build (push) Has been cancelled
chore: 初始化仓库,排除二进制文件和覆盖率文件
2025-11-28 23:30:49 +08:00

78 lines
2.0 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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 "🎉 环境变量检查完成!"