Mettre à jour GLPI dans Docker est plus sûr et plus rapide que sur bare metal – il suffit de changer le tag de l'image et d'exécuter la migration. Mais une sauvegarde préalable est non négociable.
Prérequis
- Sauvegarde complète de la base de données et des volumes (voir guide de sauvegarde)
- Vérifier la compatibilité des plugins avec la nouvelle version
- Tester d'abord dans un environnement de pré-production
Étape par étape
1. Sauvegarde
docker exec glpi-db mysqldump -u glpi -pSENHA glpi | gzip > /backup/pre-update.sql.gz
tar -czf /backup/pre-update-volumes.tar.gz /opt/glpi/2. Arrêter les conteneurs
docker compose down3. Mettre à jour l'image
Dans docker-compose.yml, modifiez le tag :
# De :
image: glpi/glpi:10.0.17
# À :
image: glpi/glpi:11.04. Démarrer avec la nouvelle version
docker compose up -d5. Exécuter la migration de la base de données
docker exec -it glpi-app php bin/console db:update --no-interaction6. Vider le cache
docker exec -it glpi-app php bin/console cache:clear7. Vérifier
Accédez à GLPI, vérifiez la version dans Configuration > Général et testez les fonctionnalités principales.
Rollback
Si quelque chose se passe mal :
docker compose down
# Restaurer la base de données
gunzip < /backup/pre-update.sql.gz | docker exec -i glpi-db mysql -u root -pSENHA glpi
# Revenir à l'image précédente dans docker-compose.yml
docker compose up -d