Menu
Public repository / 97b7d8df4cf46bcfdc63a2066258c8827bdd9182
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"