Spaces:
Running
Running
# Exit on any error | |
set -e | |
echo "Starting Bolt.DIY update process..." | |
# Get the current directory | |
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" | |
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")" | |
# Store current version | |
CURRENT_VERSION=$(cat "$PROJECT_ROOT/package.json" | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[",]//g' | tr -d '[[:space:]]') | |
echo "Current version: $CURRENT_VERSION" | |
echo "Fetching latest version..." | |
# Create temp directory | |
TMP_DIR=$(mktemp -d) | |
cd "$TMP_DIR" | |
# Download latest release | |
LATEST_RELEASE_URL=$(curl -s https://api.github.com/repos/stackblitz-labs/bolt.diy/releases/latest | grep "browser_download_url.*zip" | cut -d : -f 2,3 | tr -d \") | |
if [ -z "$LATEST_RELEASE_URL" ]; then | |
echo "Error: Could not find latest release download URL" | |
exit 1 | |
fi | |
echo "Downloading latest release..." | |
curl -L -o latest.zip "$LATEST_RELEASE_URL" | |
echo "Extracting update..." | |
unzip -q latest.zip | |
# Backup current installation | |
echo "Creating backup..." | |
BACKUP_DIR="$PROJECT_ROOT/backup_$(date +%Y%m%d_%H%M%S)" | |
mkdir -p "$BACKUP_DIR" | |
cp -r "$PROJECT_ROOT"/* "$BACKUP_DIR/" | |
# Install update | |
echo "Installing update..." | |
cp -r ./* "$PROJECT_ROOT/" | |
# Clean up | |
cd "$PROJECT_ROOT" | |
rm -rf "$TMP_DIR" | |
echo "Update completed successfully!" | |
echo "Please restart the application to apply the changes." | |
exit 0 | |