All checks were successful
Build & Deploy KLZ Cables / deploy (push) Successful in 3m50s
127 lines
4.0 KiB
Bash
127 lines
4.0 KiB
Bash
#!/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" |