Ajoute les mises à jour autonomes

Les installations hors YunoHost peuvent désormais vérifier et installer une release Forgejo avec sauvegarde et retour arrière complet.
This commit is contained in:
Alexandre NOEL 2026-09-08 20:13:55 +02:00
commit 53e79a72d7
25 changed files with 1146 additions and 61 deletions

View file

@ -2,15 +2,4 @@
set -euo pipefail
root_dir="$(cd "$(dirname "$0")/.." && pwd)"
snapshot="${1:-}"
if [[ -z "$snapshot" || ! -f "$snapshot" || "$(basename "$snapshot")" != code-*.tar.gz ]]; then
echo "Usage: $0 storage/releases/code-VERSION-DATE.tar.gz" >&2
exit 2
fi
case "$(realpath "$snapshot")" in "$root_dir"/storage/releases/*) ;; *) echo "Snapshot hors de storage/releases refusé." >&2; exit 2;; esac
touch "$root_dir/storage/maintenance.flag"
trap 'rm -f "$root_dir/storage/maintenance.flag"' EXIT
tar -xzf "$snapshot" -C "$root_dir"
php "$root_dir/scripts/migrate.php"
rm -f "$root_dir/storage/maintenance.flag"
echo "Code restauré. La base n’a pas été rétrogradée automatiquement."
exec php "$root_dir/scripts/update.php" --rollback