Proposition pour gérer avec élégance le manque d'espace disque lors d'une mise à jour de Discourse

Lorsqu’une mise à jour de Discourse échoue en raison d’un espace disque insuffisant, l’interface utilisateur se bloque malheureusement avec une erreur 500. Je dois alors exécuter ./launcher rebuild app depuis le terminal, ce qui télécharge d’abord toutes les images Docker, se met en pause pour m’informer qu’il reste moins de 5 Go d’espace disponible, attend que j’appuie sur ‘y’, puis prend un certain temps pour nettoyer les anciennes images. Ensuite, je dois réexécuter la commande de reconstruction, ce qui commence par retélécharger toutes les images Docker.

Ce processus comporte de nombreuses étapes, dont certaines nécessitent de vérifier manuellement les journaux, et toutes ajoutent du temps d’arrêt pour le forum. Heureusement, ce problème ne m’arrive pas souvent. Cependant, je deviens nerveux lorsque le forum est hors service :anxious_face_with_sweat:

Ce temps d’arrêt semble entièrement évitable. Voici l’amélioration que je propose. Avant de mettre à niveau, l’interface utilisateur Web peut inviter l’utilisateur :

Vous disposez de moins de 10 Go d’espace disque libre. Souhaitez-vous nettoyer les anciens conteneurs avant la mise à niveau ?

Si l’utilisateur accepte, l’espace disque est nettoyé en premier, et il est informé :

10 Go d’anciens conteneurs nettoyés. Vous disposez maintenant de 15 Go d’espace disque libre. N’hésitez pas à démarrer la mise à niveau maintenant.

Et maintenant, ils peuvent exécuter la mise à niveau de Discourse en toute confiance depuis l’interface utilisateur Web :smiling_face_with_sunglasses:

3 « J'aime »