Files
proxmox/scripts/archive/consolidated/fix/fix-all-issues-complete.sh

86 lines
2.8 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
set -euo pipefail
# Load IP configuration
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true
# Complete fix for all issues: Explorer 502 + RPC peer connectivity
# Usage: Run from Proxmox host: ./fix-all-issues-complete.sh
set -e
echo "=========================================="
echo "Fix All Issues - Complete"
echo "=========================================="
echo ""
# Part 1: Fix Explorer
echo "=========================================="
echo "PART 1: Fixing Explorer 502 Errors"
echo "=========================================="
echo ""
./scripts/fix-blockscout-nginx-complete.sh
echo ""
echo "=========================================="
echo "PART 2: Analyzing RPC Node Peer Counts"
echo "=========================================="
echo ""
./scripts/analyze-all-rpc-peers.sh
echo ""
echo "=========================================="
echo "PART 3: Fixing ThirdWeb Peer Connectivity"
echo "=========================================="
echo ""
./scripts/fix-thirdweb-peer-connectivity.sh
echo ""
echo "=========================================="
echo "Complete Fix Summary"
echo "=========================================="
echo ""
# Final verification
echo "=== Final Verification ==="
echo ""
# Test explorer API
EXTERNAL_TEST=$(curl -s -o /dev/null -w '%{http_code}' --connect-timeout 5 "https://explorer.d-bis.org/api/v2/stats" 2>/dev/null || echo "000")
if [ "$EXTERNAL_TEST" = "200" ]; then
echo "✅ Explorer API: WORKING (HTTP $EXTERNAL_TEST)"
else
echo "❌ Explorer API: NOT WORKING (HTTP $EXTERNAL_TEST)"
fi
# Check peer counts
echo ""
echo "Checking peer counts..."
# Note: ThirdWeb RPC IPs (240-242) not yet in config
for ip in ${RPC_THIRDWEB_PRIMARY:-192.168.11.240} ${RPC_THIRDWEB_1:-${RPC_THIRDWEB_1:-${RPC_THIRDWEB_1:-${RPC_THIRDWEB_1:-192.168.11.241}}}} ${RPC_THIRDWEB_2:-${RPC_THIRDWEB_2:-${RPC_THIRDWEB_2:-${RPC_THIRDWEB_2:-192.168.11.242}}}}; do
PEER_RESPONSE=$(curl -s -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"net_peerCount","params":[],"id":1}' http://$ip:8545 2>/dev/null || echo "")
if [ -n "$PEER_RESPONSE" ]; then
PEER_HEX=$(echo "$PEER_RESPONSE" | grep -o '"result":"[^"]*"' | cut -d'"' -f4)
if [ -n "$PEER_HEX" ]; then
PEER_NUM=$(printf "%d" $PEER_HEX 2>/dev/null || echo "0")
if [ "$PEER_NUM" -ge 5 ]; then
echo "$ip: $PEER_NUM peers (Good)"
elif [ "$PEER_NUM" -ge 3 ]; then
echo "⚠️ $ip: $PEER_NUM peers (Acceptable)"
else
echo "$ip: $PEER_NUM peers (Low - should be 5-7)"
fi
fi
fi
done
echo ""
echo "=========================================="
echo "Complete!"
echo "=========================================="