Files
Church-Music/legacy-site/scripts/verify-startup.sh

94 lines
2.5 KiB
Bash
Raw Normal View History

2026-01-27 18:04:50 -06:00
#!/bin/bash
# Startup Verification Script for Church Music Database
# Verifies all services are running after a reboot/restart
echo "========================================="
echo "Church Music Database - Startup Check"
echo "========================================="
echo ""
# Color codes
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
check_service() {
service_name=$1
if systemctl is-active --quiet "$service_name"; then
echo -e "${GREEN}${NC} $service_name is running"
return 0
else
echo -e "${RED}${NC} $service_name is NOT running"
return 1
fi
}
check_port() {
port=$1
service=$2
if ss -tlnp | grep -q ":$port "; then
echo -e "${GREEN}${NC} Port $port ($service) is listening"
return 0
else
echo -e "${RED}${NC} Port $port ($service) is NOT listening"
return 1
fi
}
echo "Checking System Services..."
echo "----------------------------"
check_service postgresql
check_service church-music-backend
check_service church-music-frontend
check_service nginx
check_service certbot.timer
echo ""
echo "Checking Network Ports..."
echo "-------------------------"
check_port 5432 "PostgreSQL"
check_port 8080 "Backend API"
check_port 5100 "Frontend"
check_port 80 "HTTP"
check_port 443 "HTTPS"
echo ""
echo "Checking Web Access..."
echo "----------------------"
if curl -s -o /dev/null -w "%{http_code}" http://localhost | grep -q "200\|301\|302"; then
echo -e "${GREEN}${NC} Local HTTP access working"
else
echo -e "${RED}${NC} Local HTTP access failed"
fi
if curl -sk -o /dev/null -w "%{http_code}" https://localhost | grep -q "200"; then
echo -e "${GREEN}${NC} Local HTTPS access working"
else
echo -e "${RED}${NC} Local HTTPS access failed"
fi
# Check DNS resolution
echo ""
echo "Checking DNS & Public Access..."
echo "--------------------------------"
PUBLIC_IP=$(curl -s -4 ifconfig.me 2>/dev/null)
DNS_IP=$(dig +short houseofprayer.ddns.net @8.8.8.8 2>/dev/null | head -1)
echo "Public IP: $PUBLIC_IP"
echo "DNS Points To: $DNS_IP"
if [ "$PUBLIC_IP" != "$DNS_IP" ]; then
echo -e "${YELLOW}${NC} Warning: DNS does not match public IP"
echo " You may need to update your DDNS or router settings"
else
echo -e "${GREEN}${NC} DNS correctly points to public IP"
fi
echo ""
echo "========================================="
echo "Startup verification complete!"
echo "========================================="
echo ""
echo "Access your site at: https://houseofprayer.ddns.net"