feat: improvements to web dashboard
This commit is contained in:
61
scripts/remote.sh
Executable file
61
scripts/remote.sh
Executable file
@@ -0,0 +1,61 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Load environment variables
|
||||
if [ -f .env ]; then
|
||||
set -a
|
||||
source .env
|
||||
set +a
|
||||
fi
|
||||
|
||||
if [ -z "$VPS_HOST" ] || [ -z "$VPS_USER" ]; then
|
||||
echo "Error: VPS_HOST and VPS_USER must be set in .env"
|
||||
echo "Please add them to your .env file:"
|
||||
echo "VPS_USER=your-username"
|
||||
echo "VPS_HOST=your-ip-address"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DASHBOARD_PORT=${DASHBOARD_PORT:-3000}
|
||||
STUDIO_PORT=${STUDIO_PORT:-4983}
|
||||
|
||||
echo "🚀 Establishing secure tunnels to Aurora services..."
|
||||
echo ""
|
||||
echo "📊 Dashboard: http://localhost:$DASHBOARD_PORT"
|
||||
echo "🔮 Studio: http://localhost:$STUDIO_PORT (https://local.drizzle.studio)"
|
||||
echo ""
|
||||
echo "Press Ctrl+C to stop all connections."
|
||||
echo ""
|
||||
|
||||
# Function to open browser (cross-platform)
|
||||
open_browser() {
|
||||
sleep 2 # Wait for tunnel to establish
|
||||
if command -v open &> /dev/null; then
|
||||
# macOS
|
||||
open "http://localhost:$DASHBOARD_PORT"
|
||||
elif command -v xdg-open &> /dev/null; then
|
||||
# Linux
|
||||
xdg-open "http://localhost:$DASHBOARD_PORT"
|
||||
elif command -v start &> /dev/null; then
|
||||
# Windows (Git Bash)
|
||||
start "http://localhost:$DASHBOARD_PORT"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if autossh is available for auto-reconnection
|
||||
if command -v autossh &> /dev/null; then
|
||||
echo "✅ Using autossh for automatic reconnection"
|
||||
SSH_CMD="autossh -M 0 -o ServerAliveInterval=30 -o ServerAliveCountMax=3"
|
||||
else
|
||||
echo "💡 Tip: Install autossh for automatic reconnection (brew install autossh)"
|
||||
SSH_CMD="ssh -o ServerAliveInterval=30 -o ServerAliveCountMax=3"
|
||||
fi
|
||||
|
||||
# Open browser in background
|
||||
open_browser &
|
||||
|
||||
# Start both tunnels
|
||||
# -N means "Do not execute a remote command". -L is for local port forwarding.
|
||||
$SSH_CMD -N \
|
||||
-L $DASHBOARD_PORT:127.0.0.1:$DASHBOARD_PORT \
|
||||
-L $STUDIO_PORT:127.0.0.1:$STUDIO_PORT \
|
||||
$VPS_USER@$VPS_HOST
|
||||
Reference in New Issue
Block a user