Globinours/deploy/README.md

2.3 KiB
Raw Blame History

Déployer Globinours

La racine web doit toujours être public/. La base SQLite, les sauvegardes et les documents privés ne doivent jamais être servis par Nginx.

Serveur Nginx + PHP-FPM

  1. Installer PHP 8.2+ et les extensions pdo_sqlite, sqlite3, mbstring, xml, zip, gd, curl et fileinfo, ainsi que rsync.
  2. Copier le projet dans /var/www/globinours et donner lécriture à lutilisateur PHP sur data/, storage/ et public/media/.
  3. Adapter puis installer deploy/php-fpm/globinours.conf et deploy/nginx/globinours.conf.
  4. Recharger PHP-FPM et Nginx, ouvrir le domaine puis suivre /setup.

Le service systemd fourni est réservé à une démonstration derrière un reverse proxy. Le serveur PHP intégré nest pas recommandé en production.

Mise à niveau et retour arrière

Créer une archive de version contenant VERSION, puis lancer :

sudo -u www-data ./scripts/update.sh /tmp/globinours-1.0.0.tar.gz

Le script valide larchive, crée une sauvegarde fonctionnelle, conserve un snapshot du code, active la maintenance, déploie avec rsync, applique les migrations et vérifie SQLite. Pour restaurer le code :

sudo -u www-data ./scripts/rollback.sh storage/releases/code-1.0.0-YYYYmmdd-HHMMSS.tar.gz

Une migration de base nest volontairement jamais annulée automatiquement. Si nécessaire, restaurez ensuite le ZIP créé avant la mise à niveau depuis Paramètres > Sauvegardes.

Maintenance planifiée

Activez la fréquence dans Paramètres > Sauvegardes, puis faites exécuter la commande suivante toutes les heures par cron ou un timer systemd :

sudo -u www-data php /var/www/globinours/scripts/maintenance.php run

La commande ne recrée une sauvegarde que lorsquelle est arrivée à échéance. Elle relit ensuite le ZIP, vérifie toutes les empreintes du manifeste et exécute le contrôle dintégrité SQLite. Elle purge également les anciennes lignes du registre daccès privé selon la politique RGPD et tente lenvoi du résumé de notifications lorsquil est activé. Son résultat JSON et son code de sortie peuvent être supervisés.

YunoHost

Le paquet YunoHost est maintenu séparément dans le dépôt voisin yunohost/. Il téléchargera une archive officielle de Globinours avec contrôle SHA-256 après la création du premier tag stable.