hue-portal-backend / check_tunnel_unraid.sh
Davidtran99
chore: sync with main repo
3718c84
#!/bin/bash
# Script để kiểm tra và fix Cloudflare Tunnel trên Unraid
echo "============================================================"
echo "🔍 Kiểm tra Cloudflare Tunnel cho PostgreSQL"
echo "============================================================"
echo ""
TUNNEL_NAME="mystifying_bassi"
POSTGRES_CONTAINER="postgres-hue"
POSTGRES_HOST="192.168.1.212"
POSTGRES_PORT="5432"
# 1. Check tunnel container
echo "1️⃣ Kiểm tra tunnel container..."
if docker ps | grep -q "$TUNNEL_NAME"; then
echo "✅ Tunnel container đang chạy"
docker ps | grep "$TUNNEL_NAME"
else
echo "❌ Tunnel container KHÔNG chạy!"
exit 1
fi
# 2. Check PostgreSQL container
echo ""
echo "2️⃣ Kiểm tra PostgreSQL container..."
if docker ps | grep -q "$POSTGRES_CONTAINER"; then
echo "✅ PostgreSQL container đang chạy"
docker ps | grep "$POSTGRES_CONTAINER"
else
echo "❌ PostgreSQL container KHÔNG chạy!"
exit 1
fi
# 3. Test PostgreSQL locally
echo ""
echo "3️⃣ Test PostgreSQL từ trong Unraid..."
if docker exec "$POSTGRES_CONTAINER" psql -U hue_remote -d hue_portal -c "SELECT 1;" > /dev/null 2>&1; then
echo "✅ PostgreSQL hoạt động OK"
else
echo "❌ PostgreSQL KHÔNG hoạt động!"
exit 1
fi
# 4. Check tunnel logs for postgres config
echo ""
echo "4️⃣ Kiểm tra tunnel config..."
if docker logs "$TUNNEL_NAME" --tail 50 | grep -q "postgres.aliss.io.vn.*tcp://$POSTGRES_HOST:$POSTGRES_PORT"; then
echo "✅ Tunnel config có postgres.aliss.io.vn → tcp://$POSTGRES_HOST:$POSTGRES_PORT"
else
echo "⚠️ KHÔNG tìm thấy config postgres trong logs"
echo " Xem logs:"
docker logs "$TUNNEL_NAME" --tail 10 | grep -i "postgres\|tcp\|5432"
fi
# 5. Check tunnel connection status
echo ""
echo "5️⃣ Kiểm tra tunnel connection status..."
if docker logs "$TUNNEL_NAME" --tail 20 | grep -q "Registered tunnel connection"; then
echo "✅ Tunnel đã connected"
docker logs "$TUNNEL_NAME" --tail 5 | grep "Registered tunnel connection"
else
echo "⚠️ Không thấy tunnel connection"
fi
# 6. Check for any connection attempts
echo ""
echo "6️⃣ Kiểm tra connection attempts (nếu có)..."
RECENT_LOGS=$(docker logs "$TUNNEL_NAME" --tail 100 | grep -i "request\|connection\|postgres\|5432" | tail -5)
if [ -n "$RECENT_LOGS" ]; then
echo "📋 Recent logs:"
echo "$RECENT_LOGS"
else
echo "⚠️ Không có connection attempts gần đây"
fi
# 7. Suggestions
echo ""
echo "============================================================"
echo "💡 Gợi ý:"
echo "============================================================"
echo ""
echo "Nếu kết nối vẫn không hoạt động:"
echo ""
echo "1. Restart tunnel:"
echo " docker restart $TUNNEL_NAME"
echo ""
echo "2. Đợi 30 giây và check logs:"
echo " sleep 30"
echo " docker logs $TUNNEL_NAME --tail 20"
echo ""
echo "3. Kiểm tra Cloudflare Dashboard:"
echo " https://dash.cloudflare.com → Zero Trust → Networks → Tunnels"
echo " - Xem tunnel status phải là 'Healthy'"
echo " - Xem config có postgres.aliss.io.vn → tcp://$POSTGRES_HOST:$POSTGRES_PORT"
echo ""
echo "4. Test từ máy local:"
echo " PGPASSWORD=huepass123 psql -h postgres.aliss.io.vn -p 5432 -U hue_remote -d hue_portal -c 'SELECT 1;'"
echo ""
echo "============================================================"