deploy.sh 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/bin/bash
  2. # CelestiaTrace Frontend Independent Deployment Script
  3. # Usage: ./deploy.sh (inside ./frontend)
  4. set -e
  5. SERVER_IP="47.93.193.127"
  6. PEM_KEY="../ccdw-meishi-1.pem"
  7. REMOTE_DIR="/opt/celestia-trace-frontend"
  8. SSH_USER="root"
  9. echo "🚀 Deploying CelestiaTrace Frontend independently..."
  10. # Ensure PEM key permissions
  11. chmod 400 "$PEM_KEY" 2>/dev/null || true
  12. # Create remote directory
  13. ssh -i "$PEM_KEY" -o StrictHostKeyChecking=no "$SSH_USER@$SERVER_IP" "mkdir -p $REMOTE_DIR"
  14. # Sync frontend files to server
  15. rsync -avz --exclude '.git' --exclude 'node_modules' --exclude 'dist' \
  16. -e "ssh -i $PEM_KEY -o StrictHostKeyChecking=no" \
  17. ./ "$SSH_USER@$SERVER_IP:$REMOTE_DIR/"
  18. # Deploy container on server
  19. ssh -i "$PEM_KEY" -o StrictHostKeyChecking=no "$SSH_USER@$SERVER_IP" << 'REMOTE_CMDS'
  20. set -e
  21. cd /opt/celestia-trace-frontend
  22. echo "📦 Building & starting CelestiaTrace Frontend container..."
  23. docker rm -f celestia-frontend 2>/dev/null || true
  24. docker compose down || true
  25. docker compose up -d --build
  26. echo "✅ Frontend deployment complete!"
  27. docker compose ps
  28. REMOTE_CMDS
  29. echo ""
  30. echo "🎉 Frontend is live at http://celestiatrace.lessncosmos.com"