TLDR : J’ai cliqué sur le bouton de mise à jour dans mon panneau d’administration Discourse, et la mise à jour a échoué. J’ai décidé de redémarrer le tout et de réessayer le processus de mise à jour. Malheureusement, mon panneau d’administration Discourse ne s’affiche pas. J’aimerais que les choses refonctionnent.
Informations complémentaires : Ceci se trouve dans une VM DigitalOcean qui héberge un site WordPress. Je l’ai configuré il y a des années et j’ai oublié de nombreux détails, mais par magie, Nginx examine l’URL demandée et décide s’il faut activer WP pour le contenu principal ou Discourse pour les conversations. Le côté WP fonctionne toujours.
Compte tenu de l’approche naïve et décontractée suggérée dans mon introduction, il ne sera pas surprenant que je ne puisse pas identifier la nature exacte de l’erreur d’installation qui m’a conduit dans cet état lamentable. Je ne sais même pas où trouver les fichiers journaux qui pourraient contenir des indices pour remettre le processus de mise à niveau sur les rails.
Toute suggestion serait la bienvenue. Je n’ai pas d’expérience en administration web, mais je suis à l’aise avec la ligne de commande sur les systèmes basés sur Debian. Les logiciels mentionnés fonctionnent tous sur Ubuntu 20.04.6 LTS, et j’ai un accès SSH à la plateforme concernée. Merci !
Merci beaucoup pour vos réponses. Je vais suivre la suggestion de Jay et je vous tiendrai au courant. (Mais cela pourrait prendre plusieurs heures avant que je ne le fasse. D’abord, je dois faire une pizza et la servir à mes invités.
Malheureusement, ma VM DigitalOcean semble trop petite. Si je tape du -sh après une connexion fraîche, il est indiqué que mon disque assigné /dev/vda1 dispose d’environ 7 Gio d’espace libre. Après avoir exécuté la commande launcher rebuild app, un téléchargement et un décompactage importants se produisent, puis le script avorte en indiquant qu’il ne voit que 3,3 Go disponibles et qu’il refuse de continuer à moins qu’il y ait 5 Go ou plus à utiliser.
Bien sûr, j’ai fait ce que j’ai pu pour localiser et supprimer les éléments superflus, mais trouver encore 1,7 Go à purger sera une tâche ardue. Existe-t-il des astuces d’expert pour cette situation ? (Soit dans la catégorie des cibles énormes mûres pour la suppression, soit dans le domaine de demander au lanceur d’être moins exigeant.)
PS : Alternativement, puis-je reconstruire l’application sur une machine plus performante, puis simplement télécharger un fichier approprié sur cette petite VM sous-dimensionnée ? Ou est-ce de la magie noire excessivement arcanique ?
Essayez d’exécuter la commande ./launcher cleanup. Cette opération peut vous aider à purger l’espace de stockage consommé par Docker.
De plus, si vous êtes certain d’avoir suivi le guide d’installation officiel, vous pouvez exécuter ./launcher destroy app pour supprimer le conteneur précédent défectueux. Cependant, il est impératif de vous assurer que votre base de données et vos téléchargements sont stockés sur le système de fichiers de l’hôte plutôt qu’à l’intérieur du conteneur lui-même.
En effet, vous pouvez effectuer la reconstruction sur une machine séparée, puis transférer l’image Docker vers votre VM. Cependant, vous devrez exécuter manuellement la commande rake db:migrate sur votre VM. Je ne suis pas entièrement certain que cette approche puisse introduire d’autres problèmes.
Je ne suis pas sûr à 100%, mais j’aimerais essayer. Comment puis-je effectuer l’étape impérative de préservation de ma base de données et de mes téléchargements ? Suffirait-il de copier les fichiers du répertoire /var/discourse/shared/standalone vers un emplacement sûr avant de faire quoi que ce soit de sérieux ? (Existe-t-il une référence à un processus standard pour le type de projet de restauration pratique que cela lancerait ?)
Je pense que la réponse pragmatique de @Robert serait le meilleur choix pour la plupart des personnes dans une situation similaire. Je prends une direction différente car mon contexte est unique à plusieurs égards. Parmi ceux-ci, voici le plus important : mon installation est un projet de loisir à petite échelle où perdre tout serait décevant mais pas dévastateur.
Si les éléments se trouvent dans le répertoire shared/standalone, vous êtes en sécurité.
Si vous avez WordPress et Discourse, vous devrez probablement passer à une VM de 2 Go/50 Go. Si vous avez supprimé toutes les sauvegardes et effectué un nettoyage du lanceur, vous avez probablement de quoi faire. (Oh, vous pouvez également vider le cache apt si vous cherchez comment faire sur Google).
Peut-être le même problème que nous venons de rencontrer, ou peut-être pas : Nous utilisions l’API de maxmind pour la conversion ip > géolocalisation. L’ancienne version nécessitait la clé API maxmind dans le fichier app.yml. Un changement récent (non documenté ?) nécessite la clé API maxmind ET le nom d’utilisateur dans app.yml. L’absence du nom d’utilisateur empêche la construction du forum.
Merci, @Frully, mais je pense que c’est un problème différent. Voici le message d’erreur qui m’arrête :
Status: Downloaded newer image for discourse/base:2.0.20240602-0023
docker.io/discourse/base:2.0.20240602-0023
Vous avez moins de 5 Go d'espace libre sur le disque où se trouve /var/lib/docker. Vous aurez besoin de plus d'espace pour continuer
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 25G 21G 3.5G 86% /
Je continuerai mon aventure de dépannage ce soir après le travail.
Amis, je vais changer de tactique et suivre l’idée de @merefield de migrer toute ma configuration vers un VPS plus grand. Déterminer comment transférer mes actifs de la configuration défectueuse vers la nouvelle configuration fonctionnelle sera certainement un défi dans cette activité, mais j’essaierai quelques méthodes de bon sens et ouvrirai un nouveau fil de discussion si aucune d’entre elles ne fonctionne. Avec mes remerciements à tous ceux qui ont contribué, je pense qu’il est prudent de clore ce fil de discussion.
Épilogue : Le processus de migration vers un nouvel hôte m’a appris quelque chose d’utile sur l’exécution de commandes shell directement dans le conteneur Discourse, décrit maintenant dans un autre fil de discussion. Il y a un peu plus d’informations sur la façon d’économiser de l’espace disque dans cet autre fil de discussion également.