feat : UpdateChecker délègue la mise à jour à un script sudo externe
Le bouton "Mettre à jour" appelle désormais `sudo /usr/local/bin/folio-upgrade.sh` via exec() plutôt que d'exécuter git pull + composer + migrations directement en PHP. Le script shell (template dans scripts/server/) gère la séquence complète : clone fresh, permissions www-data, restauration .env, composer install, migrations SQL, .sessions, safe.directory. Le journal de la dernière mise à jour est conservé dans DATA_PATH/.upgrade-log et affiché en <details> dans l'admin. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -112,6 +112,15 @@ class UpdateChecker
|
||||
}
|
||||
}
|
||||
|
||||
public function getLastUpgradeLog(): ?string
|
||||
{
|
||||
$logFile = $this->dataDir . '/.upgrade-log';
|
||||
if (!file_exists($logFile)) {
|
||||
return null;
|
||||
}
|
||||
return (string) file_get_contents($logFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère `public/version.txt` depuis le dépôt Gitea.
|
||||
* Résultat mis en cache 1 h dans `data/.version_check_cache.json`.
|
||||
|
||||
Reference in New Issue
Block a user