Le fichier de configuration containers/app.yml existe déjà ! Arrêt du conteneur existant dans 5 secondes ou Ctrl-C pour annuler

En me connectant en ssh à la VM, j’ai immédiatement obtenu :

Le fichier de configuration containers/app.yml existe déjà !
Sauvegarde de l’ancien fichier sous app.yml.2024-12-25-193919.bak
Arrêt du conteneur existant dans 5 secondes ou Ctrl-C pour annuler.

Je ne suis pas sûr de ce qu’il essaie de faire ?

J’aurais préféré ne jamais installer Right Sidebar Blocks, bien que je ne sois pas sûr que ce problème y soit lié. https://meta.discourse.org/t/issues-when-i-enable-component-maybe-right-sidebar-blocks/343964/13

J’ai fait une reconstruction de l’application en pensant que cela aiderait, mais à chaque fois que je me connecte à la VM, j’obtiens maintenant :

Le fichier de configuration containers/app.yml existe déjà !
Sauvegarde de l’ancien fichier sous app.yml.2024-12-25-xxxxxx.bak
Arrêt du conteneur existant dans 5 secondes ou Ctrl-C pour annuler.

Si je ne l’arrête pas, il semble qu’il veuille faire une configuration initiale complète ? J’avais un snapshot récent et je l’ai restauré.

J’ai exécuté ceci : ./launcher rebuild app
et cela a réussi
Je peux pinger le monde extérieur, le site web est en ligne et fonctionne…

mais à la connexion à la VM, j’obtiens immédiatement ce problème.

Si je tue le processus dans les 5 secondes, tout semble bien se passer, le site web fonctionne bien, alors qu’est-ce qui cause ce problème et comment puis-je l’arrêter à la connexion à la VM ?

J’ai également redémarré la VM, même problème en me connectant en ssh à la VM après le redémarrage, mais le site web est en ligne et fonctionne.

1 « J'aime »

Très étrange !

C’est comme si vous aviez un script bash de connexion personnalisé en cours d’exécution.

Comment avez-vous installé Discourse ? Strictement en utilisant l’installation standard ?

Non, ce ne sera pas le composant Thème.

4 « J'aime »

Vous obtenez ce message lorsque vous exécutez discourse-setup après qu’il ait déjà été exécuté une première fois. Vous pouvez le réexécuter pour modifier les paramètres. Habituellement, vous voulez juste exécuter un

./launcher rebuild app
1 « J'aime »

qui s’exécute immédiatement, automatiquement à la connexion ?

Alors c’est peut-être ce que fait une installation de Discourse en un clic sur DigitalOcean.

C’est pourquoi l’installation standard est recommandée car elle ne fait pas cela. Je pense que leur documentation peut vous indiquer que vous pouvez supprimer ou modifier .bashrc ou similaire.

Vous pouvez simplement faire un contrôle C lorsque vous vous connectez, bien que vous vous retrouviez toujours avec un tas de fichiers qui ne feront pas vraiment de mal, mais qui seraient plutôt ennuyeux.

2 « J'aime »

Oui, cela semble plus probable.

1 « J'aime »

J’ai utilisé l’installation standard il y a plusieurs mois. J’utilise un proxy inverse nginx, notez qu’il fonctionne sans problème depuis août.

Je n’ai pas exécuté discourse-setup (eh bien, 5 secondes se sont écoulées une fois et il a commencé à exécuter le script de configuration, mais je l’ai arrêté et restauré à partir d’un instantané. J’ai exécuté ./launcher rebuild app.

Oui : « cela s’exécute immédiatement, automatiquement à la connexion ? » Dès que je me connecte et que je fais sudo su en tant que root, cela s’exécute automatiquement.

Je n’utilise pas Digital Ocean.

Je viens de regarder le fichier .bashrc pour root, la dernière ligne est :

/opt/hostinger/scripts/discourse_conf.sh

Voyons ce que cela fait. S’il n’a pas toujours été là, notez que je ne l’ai pas ajouté.

#!/bin/bash
clear
cd /var/discourse

if ./discourse-setup; then
  clear
  echo "Discourse est maintenant installé. Connectez-vous à votre compte administrateur dans un navigateur pour continuer"
  echo "la configuration de Discourse."

  cp -f /etc/skel/.bashrc /root/.bashrc
else
  echo ""
  echo "-----------------------------------------------------------------------------"
  echo "Le script de configuration a échoué avec les détails de Discourse fournis."
  echo "Il va se relancer. Veuillez résoudre les problèmes ci-dessus."
  echo "-----------------------------------------------------------------------------"
  echo "Lorsque vous êtes prêt, appuyez sur Entrée"
  echo "Pour annuler la configuration, appuyez sur Ctrl+C et ce script sera relancé lors de votre prochaine connexion"
  read wait
fi

Hostinger héberge la VM. Laissez-moi supprimer cette ligne, et essayer de me connecter et de faire su à nouveau, je n’ai aucune idée de comment cela est arrivé dans le fichier .bashrc, je ne l’ai certainement pas ajouté manuellement.

Oui, cela corrige le problème, il ne m’est jamais venu à l’esprit qu’un fichier rc serait modifié comme ça, donc il ne m’est jamais venu à l’esprit de vérifier. Merci les gars pour votre aide, c’est très apprécié !

Après avoir commenté cette ligne dans le bashrc :

cd /var/discourse
if ./discourse-setup; then  echo 'trouvé'; else  echo 'non trouvé'; fi

renvoie : non trouvé

Pour moi, il est étrange qu’il l’ait trouvé, même.

Cependant, si j’exécute maintenant (environ 15 minutes plus tard) ls -al ./discourse-setup, cela renvoie : -rwxr-xr-x 1 root root 28715 déc. 23 23:24 ./discourse-setup

Si j’exécute if ./discourse-setup; then echo 'trouvé'; else echo 'non trouvé'; fi maintenant, cela exécute le problème que j’avais : ...Arrêt du conteneur existant dans 5 secondes ou Ctrl-C pour annuler

J’ai supprimé le commentaire, je me suis reconnecté et j’ai exécuté sudo su, et il a voulu démarrer le processus d’installation, mais il n’a pas créé le script discourse-setup, alors comment le script discourse-setup est-il créé ?

Comment le script discourse-setup est-il créé, et puis-je le supprimer manuellement ? Si je le renomme, je ne le vois pas recréé à la connexion, avec ou sans la ligne /opt/hostinger/scripts/discourse_conf.sh dans le .bashrc de root.

Notez que je n’ai jamais vu :

  echo "Le script de configuration a échoué avec les détails de Discourse fournis."
  echo "Il va se relancer. Veuillez résoudre les problèmes ci-dessus."

Il a effacé l’écran, et les seuls commentaires que j’ai vus étaient :

Le fichier de configuration containers/app.yml existe déjà !
Sauvegarde de l'ancien fichier sous app.yml.2024-12-25-193919.bak
Arrêt du conteneur existant dans 5 secondes ou Ctrl-C pour annuler.
diff ./.bashrc /etc/skel/.bashrc
118d117
< # /opt/hostinger/scripts/discourse_conf.sh

Aucune idée de comment cette ligne est arrivée dans le fichier .bashrc, et le texte que je vois sur le problème n’est pas ce qui est décrit dans le fichier /opt/hostinger/scripts/discourse_conf.sh, mais le problème semble avoir disparu.

Je note également que lorsque j’exécute maintenant ./launcher rebuild app, ou que je redémarre la VM, j’obtiens une erreur 502 si j’essaie d’accéder au site Web trop rapidement, il faut environ une minute pour que le site Web soit disponible. Je ne me souviens pas de ça par le passé, mais je n’ai peut-être jamais essayé d’accéder immédiatement au site Web. Des idées à ce sujet ?

1 « J'aime »

Vous devrez enquêter sur les scripts qui s’exécutent à la connexion et supprimer les lignes associées à l’exécution de la configuration.

À ma connaissance, une installation standard ne modifiera pas ces éléments, mais nous y voilà.

Vous avez fait quelque chose qui a installé cela.

2 « J'aime »

Oh, vous avez étendu votre publication hors de la chronologie

Bon travail !

Désolé pour cela, il était environ 2h00 du matin.

Merci à tous pour votre aide. Certains des problèmes que j’ai soulignés ci-dessus ne me sont toujours pas clairs, mais il semble que le problème ait disparu avec la suppression de la dernière ligne du fichier .bashrc.

Pour répondre à ma propre question : Comment le script discourse-setup est-il créé et puis-je le supprimer manuellement ?

Le script discourse-setup doit exister dans /var/discourse. Il est fourni dans le cadre du code de base.

Le 502 pendant une minute, je m’en accommoderai à moins d’entendre le contraire.

1 « J'aime »

Mais vous ne l’avez pas fait. Vous avez utilisé une image hostinger qui exécute automatiquement la configuration de discourse lorsque vous vous connectez.

Vous voulez supprimer la ligne qui exécute le script hostinger de .bashrc

Vous ne voulez pas supprimer discourse-setup, mais vous ne voulez pas non plus l’exécuter.

1 « J'aime »

Oui, c’est ce que j’ai fait en ce qui concerne le .bashrc et discourse-setup, mais je ne me souviens pas avoir lancé l’installation automatiquement, ni ne comprends pourquoi elle a redémarré soudainement après plusieurs mois.

Il me semble me souvenir avoir suivi les instructions sur GitHub, mais je pourrais me souvenir incorrectement.

Quoi qu’il en soit, j’ai supprimé cette ligne du fichier .bashrc.

Merci.

1 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.