hue-portal-backend / test_ngrok_simple.sh
Davidtran99
chore: sync with main repo
3718c84
#!/bin/bash
# Script test ngrok tunnel đơn giản - không cần API
# Usage: ./test_ngrok_simple.sh <ngrok_host> <ngrok_port>
set -e
# Colors
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
BLUE='\033[0;34m'
NC='\033[0m'
success() {
echo -e "${GREEN}${NC} $1"
}
warn() {
echo -e "${YELLOW}⚠️${NC} $1"
}
error() {
echo -e "${RED}${NC} $1"
}
log() {
echo -e "${BLUE}[TEST]${NC} $1"
}
# Parse arguments
NGROK_HOST="${1:-}"
NGROK_PORT="${2:-}"
if [ -z "$NGROK_HOST" ] || [ -z "$NGROK_PORT" ]; then
error "Thiếu tham số!"
echo ""
echo "Usage: $0 <ngrok_host> <ngrok_port>"
echo ""
echo "Ví dụ:"
echo " $0 0.tcp.ap.ngrok.io 13432"
echo ""
echo "💡 Lấy ngrok URL từ:"
echo " 1. Docker logs: docker logs ngrok | grep tcp://"
echo " 2. Web interface: http://192.168.1.212:4040"
echo " 3. Hoặc xem trong Unraid Docker logs"
exit 1
fi
DB_USER="${POSTGRES_USER:-hue_remote}"
DB_PASSWORD="${POSTGRES_PASSWORD:-huepass123}"
DB_NAME="${POSTGRES_DB:-hue_portal}"
echo -e "${BLUE}============================================================${NC}"
echo -e "${BLUE}Test Ngrok Tunnel: $NGROK_HOST:$NGROK_PORT${NC}"
echo -e "${BLUE}============================================================${NC}"
echo ""
log "Đang test kết nối PostgreSQL..."
export PGPASSWORD="$DB_PASSWORD"
if command -v psql &> /dev/null; then
# Test với timeout 5 giây
if timeout 5 psql -h "$NGROK_HOST" -p "$NGROK_PORT" -U "$DB_USER" -d "$DB_NAME" -c "SELECT 1;" &>/dev/null; then
success "Kết nối thành công!"
echo ""
# Get version
VERSION=$(timeout 5 psql -h "$NGROK_HOST" -p "$NGROK_PORT" -U "$DB_USER" -d "$DB_NAME" -t -c "SELECT version();" 2>/dev/null | head -1 | xargs)
log "PostgreSQL: ${VERSION:0:50}..."
# Count tables
TABLE_COUNT=$(timeout 5 psql -h "$NGROK_HOST" -p "$NGROK_PORT" -U "$DB_USER" -d "$DB_NAME" -t -c "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'public';" 2>/dev/null | xargs)
success "Tables: $TABLE_COUNT"
echo ""
# Quick data check
TOTAL=$(timeout 5 psql -h "$NGROK_HOST" -p "$NGROK_PORT" -U "$DB_USER" -d "$DB_NAME" -t -c "SELECT COUNT(*) FROM core_legaldocument;" 2>/dev/null | xargs || echo "0")
if [ "$TOTAL" != "0" ]; then
success "Documents: $(printf "%'d" $TOTAL)"
else
warn "Database trống"
fi
echo ""
echo -e "${BLUE}============================================================${NC}"
success "✅ NGROK TUNNEL HOẠT ĐỘNG!"
echo ""
echo -e "${BLUE}📝 DATABASE_URL:${NC}"
echo "postgres://$DB_USER:$DB_PASSWORD@$NGROK_HOST:$NGROK_PORT/$DB_NAME"
echo -e "${BLUE}============================================================${NC}"
else
error "KHÔNG KẾT NỐI ĐƯỢC!"
echo ""
echo "💡 Kiểm tra:"
echo " 1. Ngrok URL có đúng không? (từ logs: docker logs ngrok)"
echo " 2. Toggle switch có ON không?"
echo " 3. PostgreSQL có chạy trên 192.168.1.212:5432 không?"
exit 1
fi
else
error "Không có psql để test!"
echo ""
echo "Cài đặt: brew install postgresql"
echo ""
echo "Hoặc dùng DATABASE_URL này:"
echo "postgres://$DB_USER:$DB_PASSWORD@$NGROK_HOST:$NGROK_PORT/$DB_NAME"
exit 1
fi