Files
backend/scripts/check-env.sh

85 lines
2.3 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"
"REDIS_HOST"
"RUSTFS_ENDPOINT"
"RUSTFS_ACCESS_KEY"
"RUSTFS_SECRET_KEY"
"RUSTFS_BUCKET_TEXTURES"
"RUSTFS_BUCKET_AVATARS"
"JWT_SECRET"
)
# 检查.env文件是否存在
if [ ! -f ".env" ]; then
echo "❌ .env 文件不存在"
echo "💡 请复制 .env.example 为 .env 并配置相关变量"
exit 1
fi
echo "✅ .env 文件存在"
# 加载.env文件
set -a
source .env 2>/dev/null
set +a
# 检查必需的环境变量
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:-5432}/$DATABASE_NAME"
echo " Redis: $REDIS_HOST:${REDIS_PORT:-6379}"
echo " RustFS: $RUSTFS_ENDPOINT"
echo " 存储桶: $RUSTFS_BUCKET_TEXTURES, $RUSTFS_BUCKET_AVATARS"
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" ] || [ "$DATABASE_PASSWORD" = "carrotskin123" ]; then
echo "⚠️ 使用的是默认数据库密码,生产环境中请更改"
fi
if [ "$RUSTFS_ACCESS_KEY" = "your_access_key" ] || [ "$RUSTFS_SECRET_KEY" = "your_secret_key" ] || [ "$RUSTFS_ACCESS_KEY" = "rustfsadmin" ]; then
echo "⚠️ 使用的是默认RustFS凭证生产环境中请更改"
fi
echo ""
echo "🎉 环境变量检查完成!"