|
|
#!/bin/bash |
|
|
|
|
|
|
|
|
|
|
|
set -e |
|
|
|
|
|
|
|
|
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" |
|
|
} |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
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 "" |
|
|
|
|
|
|
|
|
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}..." |
|
|
|
|
|
|
|
|
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 "" |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|