105 lines
2.9 KiB
Bash
105 lines
2.9 KiB
Bash
#!/bin/bash
|
|
|
|
# Drone Detection System - Troubleshooting Script
|
|
# This script helps diagnose common issues with the drone detection system
|
|
|
|
echo "🔧 Drone Detection System - Troubleshooting"
|
|
echo "============================================"
|
|
|
|
# Check Docker status
|
|
echo ""
|
|
echo "📋 Checking Docker containers..."
|
|
if command -v docker &> /dev/null; then
|
|
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
|
echo ""
|
|
|
|
# Check specific containers
|
|
echo "🔍 Checking drone detection containers..."
|
|
if docker ps | grep -q "drone-detection"; then
|
|
echo "✅ Drone detection containers are running"
|
|
else
|
|
echo "❌ Drone detection containers not found. Run: docker-compose up -d"
|
|
fi
|
|
else
|
|
echo "❌ Docker is not installed or not running"
|
|
fi
|
|
|
|
# Check port availability
|
|
echo ""
|
|
echo "🌐 Checking port availability..."
|
|
ports=(3001 3002 5433 6380)
|
|
for port in "${ports[@]}"; do
|
|
if ss -tulpn | grep -q ":$port "; then
|
|
echo "✅ Port $port is in use"
|
|
else
|
|
echo "⚠️ Port $port is not in use"
|
|
fi
|
|
done
|
|
|
|
# Check Nginx status
|
|
echo ""
|
|
echo "🌍 Checking Nginx status..."
|
|
if command -v nginx &> /dev/null; then
|
|
if systemctl is-active --quiet nginx; then
|
|
echo "✅ Nginx is running"
|
|
else
|
|
echo "❌ Nginx is not running. Start with: sudo systemctl start nginx"
|
|
fi
|
|
|
|
# Check nginx configuration
|
|
if nginx -t &>/dev/null; then
|
|
echo "✅ Nginx configuration is valid"
|
|
else
|
|
echo "❌ Nginx configuration has errors. Check with: sudo nginx -t"
|
|
fi
|
|
else
|
|
echo "❌ Nginx is not installed"
|
|
fi
|
|
|
|
# Check site configuration
|
|
echo ""
|
|
echo "📄 Checking site configuration..."
|
|
if [ -f "/etc/nginx/sites-enabled/drones.cqers.com" ]; then
|
|
echo "✅ Drone detection nginx config is enabled"
|
|
else
|
|
echo "❌ Drone detection nginx config not found"
|
|
echo " Run the setup script: sudo ./scripts/setup-nginx.sh"
|
|
fi
|
|
|
|
# Test endpoints
|
|
echo ""
|
|
echo "🔗 Testing endpoints..."
|
|
endpoints=(
|
|
"http://localhost:3001"
|
|
"http://localhost:3002/health"
|
|
"http://localhost/health"
|
|
)
|
|
|
|
for endpoint in "${endpoints[@]}"; do
|
|
if curl -s -f "$endpoint" >/dev/null; then
|
|
echo "✅ $endpoint is responding"
|
|
else
|
|
echo "❌ $endpoint is not responding"
|
|
fi
|
|
done
|
|
|
|
# Check logs
|
|
echo ""
|
|
echo "📊 Recent Docker logs (last 10 lines)..."
|
|
if command -v docker &> /dev/null; then
|
|
echo "--- Backend logs ---"
|
|
docker logs --tail 10 drone-detection-backend 2>/dev/null || echo "No backend container logs"
|
|
echo ""
|
|
echo "--- Frontend logs ---"
|
|
docker logs --tail 10 drone-detection-frontend 2>/dev/null || echo "No frontend container logs"
|
|
fi
|
|
|
|
echo ""
|
|
echo "🏁 Troubleshooting complete!"
|
|
echo ""
|
|
echo "Common solutions:"
|
|
echo "1. Restart containers: docker-compose restart"
|
|
echo "2. Rebuild containers: docker-compose up -d --build"
|
|
echo "3. Check logs: docker-compose logs -f"
|
|
echo "4. Reload nginx: sudo systemctl reload nginx"
|