Exploitation

Mettre à jour

Sauvegarder les données, enregistrer l'image en cours, puis tirer ou reconstruire sans perdre les projets.

TraDoc stocke les projets, les sorties et l'état SQLite sous data/ (/app/data dans le conteneur). Sauvegardez ce dossier avant chaque mise à jour. N'exécutez jamais docker compose down -v ni ne supprimez ./data dans une mise à jour normale.

Avant toute mise à jour

  • Exportez les travaux importants.
  • Sauvegardez data/.
  • Notez le commit ou le digest d'image actuel.
  • Vérifiez que les projets ne sont plus en cours.

Enregistrer une image GHCR

docker compose images
docker image inspect --format '{{.RepoDigests}}' ghcr.io/lucas-lepajollec/tradoc:latest

Conservez ce digest ou l'étiquette sha-<commit-complet>. C'est la cible de retour arrière.

Image publiée (docker-compose.yml)

docker compose pull
docker compose up -d
docker compose logs --tail 100 tradoc

Vérifiez /health, la connexion au fournisseur, la liste des projets et un petit export.

Pour revenir en arrière :

Modifiez la ligne Compose image:, puis recréez le service :

image: ghcr.io/lucas-lepajollec/tradoc:sha-<full-commit>
docker compose up -d

Ne recréez pas une étiquette v1.0.0 pour récupérer une ancienne instance.

Build local

git pull --ff-only
docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --build

Le fichier Compose par défaut récupère l'image publiée. L'override de build explicite la remplace par tradoc:local pour un checkout des sources.

Checkout Git

git status --short
git pull --ff-only
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
npm --prefix web ci
npm --prefix web run build
.\.venv\Scripts\python.exe -m unittest discover -s tests -p "test_*.py"

Ne lancez pas git reset --hard pour résoudre des modifications locales non comprises. Sauvegardez ou examinez-les avant la mise à jour.

Après

Conservez l'ancienne sauvegarde jusqu'à validation.