Paquet YunoHost de MaBibli 1.0.0
Installe l'archive self-contained publiée en release du dépôt du code, amd64 ou arm64 selon la machine. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Executable
+62
@@ -0,0 +1,62 @@
|
||||
#!/bin/bash
|
||||
|
||||
source _common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# ARRÊT DU SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression "Arrêt de $app..."
|
||||
|
||||
# Arrêter avant de remplacer les binaires, et surtout avant que les nouvelles
|
||||
# migrations EF Core ne s'appliquent au démarrage : deux processus sur la même base
|
||||
# SQLite pendant une migration est exactement ce qu'il faut éviter.
|
||||
ynh_systemctl --service="$app" --action="stop" --log_path="systemd"
|
||||
|
||||
#=================================================
|
||||
# MISE À JOUR DES BINAIRES
|
||||
#=================================================
|
||||
ynh_script_progression "Mise à jour des fichiers..."
|
||||
|
||||
# `ynh_setup_source` remplace le contenu d'`install_dir` par la nouvelle archive,
|
||||
# après vérification du sha256.
|
||||
#
|
||||
# Les données ne sont pas concernées : la base vit dans `data_dir`
|
||||
# (`ConnectionStrings__MaBibli` dans l'unité systemd), qui n'est touché ni ici ni par
|
||||
# les ressources du manifeste. C'est précisément pour cela que la base n'est pas
|
||||
# posée à côté du binaire — sinon chaque mise à jour l'emporterait.
|
||||
ynh_setup_source --dest_dir="$install_dir"
|
||||
|
||||
chmod +x "$install_dir/$mabibli_binaire"
|
||||
|
||||
#=================================================
|
||||
# CONFIGURATION NGINX ET SYSTEMD
|
||||
#=================================================
|
||||
ynh_script_progression "Mise à jour de la configuration..."
|
||||
|
||||
ynh_config_add_nginx
|
||||
ynh_config_add_systemd
|
||||
|
||||
yunohost service add "$app" --description="Bibliothèque personnelle MaBibli"
|
||||
|
||||
#=================================================
|
||||
# REDÉMARRAGE DU SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression "Redémarrage de $app..."
|
||||
|
||||
# Le délai est plus large qu'à l'installation : une mise à jour peut embarquer des
|
||||
# migrations EF Core à appliquer sur une base déjà remplie, ce qui prend plus de
|
||||
# temps que la création d'un schéma vide.
|
||||
#
|
||||
# Si le démarrage échoue, YunoHost restaure la sauvegarde de sécurité prise avant la
|
||||
# mise à jour. Cette sauvegarde-là ne contient pas `data_dir` (le cœur saute les
|
||||
# répertoires de données avec `BACKUP_CORE_ONLY`) — ce qui tombe bien, puisque
|
||||
# `data_dir` n'a pas été touché et contient toujours la bibliothèque.
|
||||
ynh_systemctl --service="$app" --action="start" --log_path="systemd" \
|
||||
--wait_until="Application started" --timeout=120
|
||||
|
||||
#=================================================
|
||||
# FIN DU SCRIPT
|
||||
#=================================================
|
||||
|
||||
ynh_script_progression "Mise à jour de $app terminée"
|
||||
Reference in New Issue
Block a user