Déploiement par Git + Docker : script deploy.sh et guide DEPLOY.md

- deploy.sh : met à jour depuis Gitea (branche master) et ne reconstruit
  les conteneurs (docker compose up -d --build) que si une nouvelle
  version existe ; option --force ; vérifie git/docker/compose/.env ;
  pull --ff-only ; compatible Compose v2 et v1
- DEPLOY.md : guide de premier déploiement (prérequis, git clone, .env
  depuis .env.example), mises à jour, persistance SQLite, dépannage
- design.md : note renvoyant vers DEPLOY.md et la procédure Git + Docker
  (abandon de la copie d'archive)
This commit is contained in:
2026-10-12 12:54:43 +02:00
parent f6445d66af
commit d857ccb879
3 changed files with 205 additions and 0 deletions
@@ -1674,6 +1674,8 @@ La génération PDF est enveloppée dans un `CancellationToken` avec délai de 1
## Déploiement (Docker Compose)
> **Procédure de déploiement (Git + Docker)** : le serveur récupère les sources depuis le dépôt Gitea (`http://192.168.1.55:3000/MadJax/SchotzIAD`, branche `master`) et reconstruit les conteneurs — l'ancienne méthode par copie d'archive est abandonnée. Le script `deploy.sh` (à la racine du dépôt) vérifie les prérequis (git, Docker, Docker Compose, présence du `.env`), détecte via `git fetch` si une nouvelle version de `master` est disponible et ne reconstruit (`docker compose up -d --build`) **que** dans ce cas (option `--force` pour forcer un rebuild sans nouveau commit). Le guide complet — installation des prérequis, premier `git clone`, création du `.env` à partir de `.env.example`, mises à jour et dépannage — figure dans **`DEPLOY.md`** à la racine du dépôt.
### Architecture des conteneurs
La solution est hébergée via **Docker Compose** avec deux services :