#!/bin/bash # CelestiaTrace Frontend Independent Deployment Script # Usage: ./deploy.sh (inside ./frontend) set -e SERVER_IP="47.93.193.127" PEM_KEY="../ccdw-meishi-1.pem" REMOTE_DIR="/opt/celestia-trace-frontend" SSH_USER="root" echo "🚀 Deploying CelestiaTrace Frontend independently..." # Ensure PEM key permissions chmod 400 "$PEM_KEY" 2>/dev/null || true # Create remote directory ssh -i "$PEM_KEY" -o StrictHostKeyChecking=no "$SSH_USER@$SERVER_IP" "mkdir -p $REMOTE_DIR" # Sync frontend files to server rsync -avz --exclude '.git' --exclude 'node_modules' --exclude 'dist' \ -e "ssh -i $PEM_KEY -o StrictHostKeyChecking=no" \ ./ "$SSH_USER@$SERVER_IP:$REMOTE_DIR/" # Deploy container on server ssh -i "$PEM_KEY" -o StrictHostKeyChecking=no "$SSH_USER@$SERVER_IP" << 'REMOTE_CMDS' set -e cd /opt/celestia-trace-frontend echo "📦 Building & starting CelestiaTrace Frontend container..." docker rm -f celestia-frontend 2>/dev/null || true docker compose down || true docker compose up -d --build echo "✅ Frontend deployment complete!" docker compose ps REMOTE_CMDS echo "" echo "🎉 Frontend is live at http://celestiatrace.lessncosmos.com"