AkurAI Build
Menu

Public repository / 4a42c187d6e32586b2d76c2871fefe927250c5c5

AkurAI-Mail / rollback.sh

Latest change 66e3647948f2e277afdd6ecd16939de8b6ad525f - Initial commit: AkurAI Mail UI (SvelteKit+Bun) by Ólafur Búi Ólafsson

#!/usr/bin/env bash
set -euo pipefail

APP_DIR=${APP_DIR:-/opt/akurai-mail-ui}
BACKUP_ROOT=${BACKUP_ROOT:-/opt/akurai-mail-ui-backups}
SERVICE=${SERVICE:-akurai-mail-ui}
TARGET=${1:-latest}

if [ "$TARGET" = "latest" ]; then
  TARGET_DIR=$(readlink -f "$BACKUP_ROOT/latest")
else
  TARGET_DIR="$TARGET"
fi

if [ -z "${TARGET_DIR:-}" ] || [ ! -f "$TARGET_DIR/app.tar.gz" ]; then
  echo "Backup not found: $TARGET" >&2
  exit 1
fi

ROLLBACK_SAFETY=$("$APP_DIR/backup.sh")
echo "Safety backup before rollback: $ROLLBACK_SAFETY"

find "$APP_DIR" -mindepth 1 \
  \( -path "$APP_DIR/.git" -o -path "$APP_DIR/node_modules" -o -path "$APP_DIR/.svelte-kit" -o -path "$APP_DIR/build" \) -prune \
  -o -exec rm -rf {} +

tar -xzf "$TARGET_DIR/app.tar.gz" -C "$APP_DIR"
chmod +x "$APP_DIR/backup.sh" "$APP_DIR/rollback.sh" "$APP_DIR/deploy.sh" "$APP_DIR/scripts/akurai-mail-server"

/home/ubuntu/.bun/bin/bun install --frozen-lockfile
/home/ubuntu/.bun/bin/bun run check
/home/ubuntu/.bun/bin/bun run build
sudo install -m 755 "$APP_DIR/scripts/akurai-mail-server" /usr/local/sbin/akurai-mail-server
sudo systemctl restart "$SERVICE"
systemctl is-active --quiet "$SERVICE"

echo "Rolled back $SERVICE from $TARGET_DIR"