#!/bin/bash # Deploy analytics data to Umami server set -e # Configuration SERVER="root@alpha.mintel.me" REMOTE_PATH="/home/deploy/sites/klz-cables.com" WEBSITE_ID="59a7db94-0100-4c7e-98ef-99f45b17f9c3" echo "🚀 Deploying analytics data to Umami server..." echo "Server: $SERVER" echo "Remote path: $REMOTE_PATH" echo "Website ID: $WEBSITE_ID" echo "" # Check if files exist if [ ! -f "data/umami-import.json" ]; then echo "❌ Error: data/umami-import.json not found" echo "Please run the migration script first:" echo " python3 scripts/migrate-analytics-to-umami.py --input data/pages\(1\).csv --output data/umami-import.json --format json --site-id $WEBSITE_ID" exit 1 fi if [ ! -f "data/umami-import.sql" ]; then echo "❌ Error: data/umami-import.sql not found" echo "Please run the migration script first:" echo " python3 scripts/migrate-analytics-to-umami.py --input data/pages\(1\).csv --output data/umami-import.sql --format sql --site-id $WEBSITE_ID" exit 1 fi # Check if SSH connection works echo "🔍 Testing SSH connection..." if ! ssh -o ConnectTimeout=5 "$SERVER" "echo 'SSH connection successful'"; then echo "❌ Error: Cannot connect to $SERVER" echo "Please check your SSH key and connection" exit 1 fi echo "✅ SSH connection successful" echo "" # Create remote directory if it doesn't exist echo "📁 Creating remote directory..." ssh "$SERVER" "mkdir -p $REMOTE_PATH/data" echo "✅ Remote directory created" echo "" # Copy files to server echo "📤 Copying files to server..." scp data/umami-import.json "$SERVER:$REMOTE_PATH/data/" scp data/umami-import.sql "$SERVER:$REMOTE_PATH/data/" echo "✅ Files copied successfully" echo "" # Option 1: Import via API (if Umami API is accessible) echo "📋 Import Options:" echo "" echo "Option 1: Import via API (Recommended)" echo "--------------------------------------" echo "1. SSH into your server:" echo " ssh $SERVER" echo "" echo "2. Navigate to the directory:" echo " cd $REMOTE_PATH" echo "" echo "3. Get your Umami API key:" echo " - Log into Umami dashboard" echo " - Go to Settings → API Keys" echo " - Create a new API key" echo "" echo "4. Import the data:" echo " curl -X POST \\" echo " -H \"Content-Type: application/json\" \\" echo " -H \"Authorization: Bearer YOUR_API_KEY\" \\" echo " -d @data/umami-import.json \\" echo " http://localhost:3000/api/import" echo "" echo " Or if Umami is on a different port/domain:" echo " curl -X POST \\" echo " -H \"Content-Type: application/json\" \\" echo " -H \"Authorization: Bearer YOUR_API_KEY\" \\" echo " -d @data/umami-import.json \\" echo " https://your-umami-domain.com/api/import" echo "" # Option 2: Import via Database echo "Option 2: Import via Database" echo "------------------------------" echo "1. SSH into your server:" echo " ssh $SERVER" echo "" echo "2. Navigate to the directory:" echo " cd $REMOTE_PATH" echo "" echo "3. Import the SQL file:" echo " psql -U umami -d umami -f data/umami-import.sql" echo "" echo " If you need to specify host/port:" echo " PGPASSWORD=your_password psql -h localhost -U umami -d umami -f data/umami-import.sql" echo "" # Option 3: Manual import via Umami dashboard echo "Option 3: Manual Import via Umami Dashboard" echo "--------------------------------------------" echo "1. Log into Umami dashboard" echo "2. Go to Settings → Import" echo "3. Upload data/umami-import.json" echo "4. Select your website (ID: $WEBSITE_ID)" echo "5. Click Import" echo "" echo "📊 File Information:" echo "-------------------" echo "JSON file: $(ls -lh data/umami-import.json | awk '{print $5}')" echo "SQL file: $(ls -lh data/umami-import.sql | awk '{print $5}')" echo "" echo "✅ Deployment complete!" echo "" echo "Next steps:" echo "1. Choose one of the import methods above" echo "2. Import the data into Umami" echo "3. Verify the data in Umami dashboard" echo "4. Update your website to use Umami tracking code" echo "" echo "For detailed instructions, see: scripts/README-migration.md"