Files
klz-cables.com/scripts/deploy-analytics-to-umami.sh
Marc Mintel c2d6e082e8
All checks were successful
Build & Deploy KLZ Cables / deploy (push) Successful in 3m50s
umami migration
2026-01-25 11:23:34 +01:00

76 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
# Deploy analytics data to your Umami instance on alpha.mintel.me
set -e
# Configuration - Umami is on infra.mintel.me
SERVER="root@infra.mintel.me"
REMOTE_PATH="/home/deploy/sites/klz-cables.com"
WEBSITE_ID="59a7db94-0100-4c7e-98ef-99f45b17f9c3"
# Umami API endpoint (assuming it's running on the same server)
UMAMI_API="http://localhost:3000/api/import"
echo "🚀 Deploying analytics data to your Umami instance..."
echo "Server: $SERVER"
echo "Remote path: $REMOTE_PATH"
echo "Website ID: $WEBSITE_ID"
echo "Umami API: $UMAMI_API"
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
# Test SSH connection
echo "🔍 Testing SSH connection to $SERVER..."
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 directory and copy files to server
echo "📁 Creating remote directory..."
ssh "$SERVER" "mkdir -p $REMOTE_PATH/data"
echo "✅ Remote directory created"
echo "📤 Copying analytics 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 ""
# Detect Umami container
echo "🔍 Detecting Umami container..."
UMAMI_CONTAINER=$(ssh "$SERVER" "docker ps -q --filter 'name=umami'")
if [ -z "$UMAMI_CONTAINER" ]; then
echo "❌ Error: Could not detect Umami container"
echo "Make sure Umami is running on $SERVER"
exit 1
fi
echo "✅ Umami container detected: $UMAMI_CONTAINER"
echo ""
# Import data via database (most reliable method)
echo "📥 Importing data via database..."
ssh "$SERVER" "
echo 'Importing data into Umami database...'
docker exec -i core-postgres-1 psql -U infra -d umami < $REMOTE_PATH/data/umami-import.sql
echo '✅ Database import completed'
"
echo ""
echo "✅ Migration Complete!"
echo ""
echo "Your analytics data has been imported into Umami."
echo "Website ID: $WEBSITE_ID"
echo ""
echo "Verify in Umami dashboard: https://analytics.infra.mintel.me"
echo "You should see 7,634 historical page view events."