Files
Infra/Mise-a-jour-Applications.md
T
2026-05-25 08:38:30 +02:00

2.2 KiB

Mise à jour des applications

Chaque application est packagée sous forme d'image Docker publiée sur le registre Gitea (git.goutailler-olivier.com) par la CI lors d'une release. La mise à jour en production consiste à récupérer la nouvelle image et à recréer le conteneur.


Principe général

cd <dossier-du-service>/
docker compose pull          # télécharge la nouvelle image
docker compose up -d         # recrée le conteneur si l'image a changé

docker compose up -d détecte automatiquement que l'image locale est différente de celle utilisée par le conteneur en cours et le recrée. Le temps d'indisponibilité est limité à la durée du redémarrage du conteneur (quelques secondes).


Exemple : mettre à jour Bonsai Webapp

Une nouvelle release a été publiée sur Gitea et l'image bonsai-webapp:latest a été mise à jour par la CI.

cd bonsai-webapp/
docker compose pull
docker compose up -d

Vérifier que le conteneur tourne bien avec la nouvelle image :

docker inspect bonsai-webapp --format '{{.Image}}'
# ou
docker compose ps

Mettre à jour une version précise (tag de release)

Par défaut les docker-compose.yml pointent sur :latest. Pour épingler une version spécifique, éditer le fichier et remplacer le tag :

image: git.goutailler-olivier.com/bonsai/bonsai-webapp:v1.2.3

Puis appliquer :

docker compose pull
docker compose up -d

Revenir à une version précédente (rollback)

  1. Identifier le tag voulu dans le registre Gitea : Packages → bonsai-webapp
  2. Modifier le tag dans docker-compose.yml (ex. v1.1.0)
  3. Appliquer :
docker compose pull
docker compose up -d

Mettre à jour tous les services d'un coup

for dir in traefik keycloak gitea bonsai-api bonsai-webapp nextcloud trilium; do
  echo "=== $dir ==="
  (cd "$dir" && docker compose pull && docker compose up -d)
done

Vérifications après mise à jour

# État de tous les conteneurs
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Image}}"

# Logs du service mis à jour
docker logs bonsai-webapp --tail 50 -f

# Supprimer les anciennes images devenues inutiles
docker image prune -f