#!/bin/bash # Configuration SERVER_IP="188.68.36.205" SERVER_USER="hamzadoctor" REMOTE_PATH="/home/hamzadoctor/app" KEY_PATH="/Users/hamzaaleghwairyeen/.ssh/doctory-key" echo "🚀 Starting sync to server: $SERVER_IP..." # Verify if the key exists if [ ! -f "$KEY_PATH" ]; then echo "⚠️ Warning: Identity file $KEY_PATH not found locally." echo "Attempting sync using default SSH configuration..." KEY_FLAG="" else KEY_FLAG="-i $KEY_PATH" fi # Sync files using rsync (surgical sync) rsync -avz --progress -e "ssh -o StrictHostKeyChecking=no" $KEY_FLAG \ --exclude 'infrastructure/osm-data' \ --exclude 'osm-data' \ --exclude 'venv' \ --exclude '.git' \ --exclude 'node_modules' \ --exclude '.DS_Store' \ .env \ docker-compose.yml \ docker-compose.map2.yml \ setup_map2.sh \ style.json \ style-dark.json \ apps \ packages \ infrastructure \ data \ $SERVER_USER@$SERVER_IP:$REMOTE_PATH/ if [ $? -eq 0 ]; then echo "✅ Sync successful!" echo "------------------------------------------------" echo "Now run the following on your SERVER terminal:" echo "cd $REMOTE_PATH" echo "docker compose up -d --build api dashboard web" echo "Dashboard will be live at: http://$SERVER_IP:3204" echo "------------------------------------------------" else echo "❌ Sync failed. Please check your SSH connection or manually update the files." fi