#!/bin/bash set -e echo "🔍 验证 Filament Admin 部署状态" echo "" # 颜色定义 GREEN='\033[0;32m' RED='\033[0;31m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # 检查 Docker if ! command -v docker &> /dev/null; then echo -e "${RED}❌ Docker 未安装${NC}" exit 1 fi echo -e "${GREEN}✅ Docker 已安装${NC}" # 检查 Docker Compose if ! command -v docker-compose &> /dev/null && ! docker compose version &> /dev/null; then echo -e "${RED}❌ Docker Compose 未安装${NC}" exit 1 fi echo -e "${GREEN}✅ Docker Compose 已安装${NC}" # 检查容器状态 echo "" echo -e "${BLUE}📊 容器状态:${NC}" docker compose ps # 检查健康状态 echo "" echo -e "${BLUE}💚 健康检查:${NC}" if docker ps | grep -q "filament_admin.*Up"; then echo -e "${GREEN}✅ 容器运行正常${NC}" else echo -e "${RED}❌ 容器未运行${NC}" exit 1 fi # 检查端口 echo "" echo -e "${BLUE}🔌 端口检查:${NC}" if curl -s -f http://localhost:5019/admin &> /dev/null; then echo -e "${GREEN}✅ 端口 5019 可访问${NC}" else echo -e "${YELLOW}⚠️ 端口 5019 暂不可访问(可能需要等待启动)${NC}" fi # 检查资源文件 echo "" echo -e "${BLUE}📦 资源文件:${NC}" if [ -f "public/build/manifest.json" ]; then echo -e "${GREEN}✅ 前端资源已构建${NC}" echo -e " 资源文件:$(du -h public/build/manifest.json | cut -f1)" else echo -e "${RED}❌ 前端资源未找到${NC}" fi # 检查数据库连接 echo "" echo -e "${BLUE}🗄️ 数据库连接测试:${NC}" if docker compose exec -T filament_admin php artisan migrate:status &> /dev/null; then echo -e "${GREEN}✅ 数据库连接正常${NC}" else echo -e "${YELLOW}⚠️ 数据库未配置或连接失败${NC}" fi # 检查日志 echo "" echo -e "${BLUE}📜 最近 10 条日志:${NC}" docker compose logs --tail=10 echo "" echo -e "${GREEN}🎉 验证完成!${NC}" echo "" echo -e "${BLUE}📋 访问信息:${NC}" echo -e " 管理后台:http://localhost:5019/admin" echo -e " 日志查看:docker compose logs -f"