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

92 lines
2.2 KiB
Markdown

# 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
```bash
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.
```bash
cd bonsai-webapp/
docker compose pull
docker compose up -d
```
Vérifier que le conteneur tourne bien avec la nouvelle image :
```bash
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 :
```yaml
image: git.goutailler-olivier.com/bonsai/bonsai-webapp:v1.2.3
```
Puis appliquer :
```bash
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 :
```bash
docker compose pull
docker compose up -d
```
---
## Mettre à jour tous les services d'un coup
```bash
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
```bash
# É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
```