Come Aggiornare GLPI in Docker tra le Versioni

Guida passo dopo passo per aggiornare GLPI in Docker da una versione minor o major a un'altra, con backup, test e rollback.

Aggiornare GLPI in Docker è più sicuro e veloce che su bare metal – basta cambiare il tag dell'immagine ed eseguire la migrazione. Ma il backup preventivo è non negoziabile.

Prerequisiti

  • Backup completo del database e dei volumi (vedere la guida al backup)
  • Verificare la compatibilità dei plugin con la nuova versione
  • Testare prima in un ambiente di staging

Passo dopo passo

1. Backup

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. Fermare i container

docker compose down

3. Aggiornare l'immagine

In docker-compose.yml, modificate il tag:

# Da:
image: glpi/glpi:10.0.17
# A:
image: glpi/glpi:11.0

4. Avviare con la nuova versione

docker compose up -d

5. Eseguire la migrazione del database

docker exec -it glpi-app php bin/console db:update --no-interaction

6. Svuotare la cache

docker exec -it glpi-app php bin/console cache:clear

7. Verificare

Accedete a GLPI, verificate la versione in Configurazione > Generale e testate le funzionalità principali.

Rollback

Se qualcosa va storto:

docker compose down
# Ripristinare il database
gunzip < /backup/pre-update.sql.gz | docker exec -i glpi-db mysql -u root -pSENHA glpi
# Tornare all'immagine precedente in docker-compose.yml
docker compose up -d

Domande Frequenti

Modificate il tag dell'immagine in docker-compose.yml, fate un backup, ricreate il container ed eseguite db:update tramite console. Il database viene migrato automaticamente.

Sì, brevemente. Fermate i container, fate un backup, avviate con la nuova immagine ed eseguite la migrazione del database. Il downtime tipico è di 5-15 minuti.

Ripristinate il backup del database e tornate all'immagine precedente in docker-compose.yml. È per questo che il backup pre-aggiornamento è obbligatorio.

Hai bisogno di aiuto?