umami migration
All checks were successful
Build & Deploy KLZ Cables / deploy (push) Successful in 3m50s
All checks were successful
Build & Deploy KLZ Cables / deploy (push) Successful in 3m50s
This commit is contained in:
127
scripts/deploy-to-umami.sh
Normal file
127
scripts/deploy-to-umami.sh
Normal file
@@ -0,0 +1,127 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user