check-config.sh 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. #!/bin/bash
  2. echo "🔍 检查 Filament Admin 配置..."
  3. echo ""
  4. # 颜色定义
  5. GREEN='\033[0;32m'
  6. RED='\033[0;31m'
  7. YELLOW='\033[1;33m'
  8. BLUE='\033[0;34m'
  9. NC='\033[0m'
  10. # 检查 .env 文件
  11. echo -e "${BLUE}📋 检查 .env 文件:${NC}"
  12. if [ -f ".env" ]; then
  13. echo -e "${GREEN}✅ .env 文件存在${NC}"
  14. # 读取关键配置
  15. APP_NAME=$(grep "^APP_NAME=" .env | cut -d '=' -f2 | tr -d '"')
  16. APP_ENV=$(grep "^APP_ENV=" .env | cut -d '=' -f2)
  17. APP_DEBUG=$(grep "^APP_DEBUG=" .env | cut -d '=' -f2)
  18. APP_URL=$(grep "^APP_URL=" .env | cut -d '=' -f2)
  19. DB_CONNECTION=$(grep "^DB_CONNECTION=" .env | cut -d '=' -f2)
  20. echo " 应用名称:${APP_NAME}"
  21. echo " 环境:${APP_ENV}"
  22. echo " 调试模式:${APP_DEBUG}"
  23. echo " 访问地址:${APP_URL}"
  24. echo " 数据库:${DB_CONNECTION}"
  25. echo ""
  26. # 验证生产环境配置
  27. if [ "$APP_ENV" = "production" ]; then
  28. echo -e "${GREEN}✅ 生产环境配置正确${NC}"
  29. else
  30. echo -e "${YELLOW}⚠️ 建议设置 APP_ENV=production${NC}"
  31. fi
  32. if [ "$APP_DEBUG" = "false" ]; then
  33. echo -e "${GREEN}✅ 调试模式已关闭${NC}"
  34. else
  35. echo -e "${YELLOW}⚠️ 建议设置 APP_DEBUG=false${NC}"
  36. fi
  37. else
  38. echo -e "${RED}❌ .env 文件不存在${NC}"
  39. echo -e "${YELLOW}💡 请复制 .env.example 或 .env.production 为 .env${NC}"
  40. exit 1
  41. fi
  42. echo ""
  43. # 检查数据库文件
  44. echo -e "${BLUE}🗄️ 检查数据库:${NC}"
  45. if [ "$DB_CONNECTION" = "sqlite" ]; then
  46. if [ -f "database/database.sqlite" ]; then
  47. echo -e "${GREEN}✅ SQLite 数据库文件存在${NC}"
  48. DB_SIZE=$(du -h database/database.sqlite | cut -f1)
  49. echo " 文件大小:${DB_SIZE}"
  50. else
  51. echo -e "${YELLOW}⚠️ SQLite 数据库文件不存在,将自动创建${NC}"
  52. fi
  53. else
  54. echo -e "${BLUE}ℹ️ 使用 ${DB_CONNECTION} 数据库${NC}"
  55. fi
  56. echo ""
  57. # 检查端口
  58. echo -e "${BLUE}🔌 检查端口 5019:${NC}"
  59. if lsof -i :5019 &> /dev/null; then
  60. echo -e "${YELLOW}⚠️ 端口 5019 已被占用${NC}"
  61. lsof -i :5019
  62. else
  63. echo -e "${GREEN}✅ 端口 5019 可用${NC}"
  64. fi
  65. echo ""
  66. # 检查 Docker
  67. echo -e "${BLUE}🐳 检查 Docker:${NC}"
  68. if command -v docker &> /dev/null; then
  69. DOCKER_VERSION=$(docker --version)
  70. echo -e "${GREEN}✅ Docker 已安装:${DOCKER_VERSION}${NC}"
  71. else
  72. echo -e "${RED}❌ Docker 未安装${NC}"
  73. exit 1
  74. fi
  75. echo ""
  76. # 检查 Docker Compose
  77. echo -e "${BLUE}📦 检查 Docker Compose:${NC}"
  78. if command -v docker-compose &> /dev/null; then
  79. COMPOSE_VERSION=$(docker-compose --version)
  80. echo -e "${GREEN}✅ Docker Compose 已安装:${COMPOSE_VERSION}${NC}"
  81. elif docker compose version &> /dev/null; then
  82. COMPOSE_VERSION=$(docker compose version)
  83. echo -e "${GREEN}✅ Docker Compose (v2) 已安装:${COMPOSE_VERSION}${NC}"
  84. else
  85. echo -e "${RED}❌ Docker Compose 未安装${NC}"
  86. exit 1
  87. fi
  88. echo ""
  89. # 磁盘空间检查
  90. echo -e "${BLUE}💾 检查磁盘空间:${NC}"
  91. DISK_SPACE=$(df -h . | awk 'NR==2 {print $4}')
  92. echo -e "${GREEN}✅ 可用空间:${DISK_SPACE}${NC}"
  93. echo ""
  94. echo -e "${GREEN}🎉 配置检查完成!${NC}"
  95. echo ""
  96. echo -e "${BLUE}📋 快速操作:${NC}"
  97. echo " 构建:${GREEN}make build${NC} 或 ${GREEN}./build.sh${NC}"
  98. echo " 部署:${GREEN}make deploy${NC} 或 ${GREEN}./deploy.sh${NC}"
  99. echo " 验证:${GREEN}make verify${NC} 或 ${GREEN}./verify.sh${NC}"