Files

122 lines
4.4 KiB
Bash
Raw Permalink Normal View History

2026-01-27 18:04:50 -06:00
#!/bin/bash
# Complete System Verification Script for Church Music Database
# Run this to verify everything is working correctly
echo "═══════════════════════════════════════════════════"
echo " CHURCH MUSIC DATABASE - SYSTEM VERIFICATION"
echo "═══════════════════════════════════════════════════"
echo ""
# Colors
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Check ports
echo "📍 PORT VERIFICATION:"
PORT_8080=$(lsof -ti:8080 2>/dev/null | wc -l)
PORT_5100=$(lsof -ti:5100 2>/dev/null | wc -l)
if [ "$PORT_8080" -gt 0 ]; then
echo -e " ${GREEN}✅ Port 8080 (Backend):${NC} Active"
else
echo -e " ${RED}❌ Port 8080 (Backend):${NC} NOT RUNNING"
fi
if [ "$PORT_5100" -gt 0 ]; then
echo -e " ${GREEN}✅ Port 5100 (Frontend):${NC} Active"
else
echo -e " ${RED}❌ Port 5100 (Frontend):${NC} NOT RUNNING"
fi
echo ""
# Check systemd services
echo "🔧 SYSTEMD SERVICES:"
BACKEND_STATUS=$(systemctl is-active church-music-backend)
FRONTEND_STATUS=$(systemctl is-active church-music-frontend)
if [ "$BACKEND_STATUS" = "active" ]; then
echo -e " ${GREEN}✅ Backend Service:${NC} $BACKEND_STATUS"
else
echo -e " ${RED}❌ Backend Service:${NC} $BACKEND_STATUS"
fi
if [ "$FRONTEND_STATUS" = "active" ]; then
echo -e " ${GREEN}✅ Frontend Service:${NC} $FRONTEND_STATUS"
else
echo -e " ${RED}❌ Frontend Service:${NC} $FRONTEND_STATUS"
fi
echo ""
# Test API endpoints
echo "🌐 API TESTS:"
# Test Backend
BACKEND_RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/api/songs 2>/dev/null)
if [ "$BACKEND_RESPONSE" = "200" ]; then
SONG_COUNT=$(curl -s http://localhost:8080/api/songs 2>/dev/null | jq '. | length' 2>/dev/null || echo "?")
echo -e " ${GREEN}✅ Backend API (8080):${NC} HTTP $BACKEND_RESPONSE ($SONG_COUNT songs)"
else
echo -e " ${RED}❌ Backend API (8080):${NC} HTTP $BACKEND_RESPONSE"
fi
# Test Frontend
FRONTEND_RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:5100 2>/dev/null)
if [ "$FRONTEND_RESPONSE" = "200" ]; then
echo -e " ${GREEN}✅ Frontend (5100):${NC} HTTP $FRONTEND_RESPONSE"
else
echo -e " ${RED}❌ Frontend (5100):${NC} HTTP $FRONTEND_RESPONSE"
fi
# Test HTTPS
HTTPS_RESPONSE=$(curl -k -s -o /dev/null -w "%{http_code}" https://houseofprayer.ddns.net 2>/dev/null)
if [ "$HTTPS_RESPONSE" = "200" ]; then
echo -e " ${GREEN}✅ HTTPS Site:${NC} HTTP $HTTPS_RESPONSE"
else
echo -e " ${RED}❌ HTTPS Site:${NC} HTTP $HTTPS_RESPONSE"
fi
echo ""
# Check database
echo "💾 DATABASE:"
DB_CHECK=$(cd /media/pts/Website/Church_HOP_MusicData/backend && source venv/bin/activate && python3 -c "from postgresql_models import SessionLocal; db = SessionLocal(); print('ok'); db.close()" 2>/dev/null)
if [ "$DB_CHECK" = "ok" ]; then
echo -e " ${GREEN}✅ PostgreSQL Connection:${NC} Working"
else
echo -e " ${RED}❌ PostgreSQL Connection:${NC} Failed"
fi
echo ""
# Check for rogue processes
echo "⚠️ ROGUE PROCESS CHECK:"
ROGUE_PORTS=$(lsof -i -P -n | grep LISTEN | grep -E ":(3000|5000|5965|3001)" | wc -l)
if [ "$ROGUE_PORTS" -gt 0 ]; then
echo -e " ${YELLOW}⚠️ Warning: Found processes on non-standard ports:${NC}"
lsof -i -P -n | grep LISTEN | grep -E ":(3000|5000|5965|3001)" | awk '{print " - " $1 " on " $9}'
else
echo -e " ${GREEN}✅ No rogue processes detected${NC}"
fi
echo ""
echo "═══════════════════════════════════════════════════"
# Summary
if [ "$PORT_8080" -gt 0 ] && [ "$PORT_5100" -gt 0 ] && [ "$BACKEND_STATUS" = "active" ] && [ "$FRONTEND_STATUS" = "active" ] && [ "$BACKEND_RESPONSE" = "200" ] && [ "$FRONTEND_RESPONSE" = "200" ]; then
echo -e "${GREEN}✅ SYSTEM STATUS: ALL SYSTEMS OPERATIONAL${NC}"
echo ""
echo "🌐 Access your site at: https://houseofprayer.ddns.net"
echo "🔐 Login: hop / hop@2026ilovejesus"
else
echo -e "${RED}❌ SYSTEM STATUS: ISSUES DETECTED${NC}"
echo ""
echo "Run this to fix:"
echo " sudo systemctl restart church-music-backend church-music-frontend"
fi
echo "═══════════════════════════════════════════════════"