122 lines
4.4 KiB
Bash
122 lines
4.4 KiB
Bash
|
|
#!/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 "═══════════════════════════════════════════════════"
|