Die Konfigurationsdatei containers/app.yml existiert bereits! Beende den bestehenden Container in 5 Sekunden oder drücke Control-C zum Abbrechen

Beim SSH-Zugriff auf die VM erhielt ich sofort:

Die Konfigurationsdatei containers/app.yml existiert bereits!
Speichere alte Datei als app.yml.2024-12-25-193919.bak
Stoppe bestehenden Container in 5 Sekunden oder Strg-C zum Abbrechen.

Ich bin mir nicht sicher, was es zu tun versucht.

Ich wünschte, ich hätte Right Sidebar Blocks nie installiert, obwohl ich mir nicht sicher bin, ob dieses Problem damit zusammenhängt. https://meta.discourse.org/t/issues-when-i-enable-component-maybe-right-sidebar-blocks/343964/13

Ich habe einen App-Neubau durchgeführt und dachte, das würde helfen, aber jedes Mal, wenn ich mich bei der VM anmelde, erhalte ich jetzt:

Die Konfigurationsdatei containers/app.yml existiert bereits!
Speichere alte Datei als app.yml.2024-12-25-xxxxxx.bak
Stoppe bestehenden Container in 5 Sekunden oder Strg-C zum Abbrechen.

Wenn ich es nicht abbreche, scheint es eine vollständige Ersteinrichtung durchführen zu wollen? Ich hatte einen aktuellen Snapshot und habe ihn wiederhergestellt.

Ich habe Folgendes ausgeführt: ./launcher rebuild app
und es war erfolgreich
Ich kann die Außenwelt anpingen, die Website ist online und funktioniert…

aber bei der VM-Anmeldung erhalte ich sofort dieses Problem.

Wenn ich den Prozess innerhalb von 5 Sekunden abbreche, scheint alles in Ordnung zu sein, die Website funktioniert gut. Was verursacht also dieses Problem und wie kann ich es bei der VM-Anmeldung stoppen?

Ich habe die VM auch neu gestartet, das gleiche Problem beim SSH-Zugriff auf die VM nach dem Neustart, aber die Website ist online und funktioniert.

1 „Gefällt mir“

Sehr seltsam!

Es ist, als ob Sie eine benutzerdefinierte Bash-Anmeldeskript ausführen würden.

Wie haben Sie Discourse installiert? Streng nach der Standardinstallation?

Nein, es wird nicht die Theme-Komponente sein.

4 „Gefällt mir“

Diese Meldung erhalten Sie, wenn Sie discourse-setup erneut ausführen, nachdem es bereits einmal ausgeführt wurde. Sie können es erneut ausführen, um Einstellungen zu ändern. Normalerweise möchten Sie nur Folgendes ausführen:

./launcher rebuild app
1 „Gefällt mir“

das sofort, automatisch beim Anmelden ausgeführt wird?

Dann ist das vielleicht das, was eine Ein-Klick-Installation von Discourse auf DigitalOcean macht.

Deshalb wird die Standardinstallation empfohlen, da sie das nicht tut. Ich denke, ihre Dokumentation könnte Ihnen sagen, dass Sie .bashrc oder ähnliches löschen oder bearbeiten können.

Sie können einfach Strg+C drücken, wenn Sie sich anmelden, obwohl Sie dann immer noch eine Reihe von Dateien haben, die nicht wirklich schaden, aber eher lästig wären.

2 „Gefällt mir“

Ja, das klingt wahrscheinlicher.

1 „Gefällt mir“

Ich habe vor vielen Monaten die Standardinstallation verwendet. Ich verwende einen Nginx-Reverse-Proxy, der seit August ohne Probleme läuft.

Ich habe discourse-setup nicht ausgeführt (nun, 5 Sekunden sind einmal vergangen und es begann mit dem Ausführen des Setup-Skripts, aber ich habe es beendet und von einem Snapshot wiederhergestellt. Ich habe ./launcher rebuild app ausgeführt.

Ja: „läuft das sofort, automatisch nach dem Login?“ Sobald ich mich anmelde und sudo su als root ausführe, läuft es automatisch.

Ich benutze kein Digital Ocean.

Ich habe mir gerade die .bashrc-Datei für root angesehen, die letzte Zeile lautet:

/opt/hostinger/scripts/discourse_conf.sh

Lassen Sie mich sehen, was das tut. Wenn es nicht die ganze Zeit da war, beachten Sie, dass ich es nicht hinzugefügt habe.

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

if ./discourse-setup; then
  clear
  echo "Discourse ist jetzt installiert. Melden Sie sich in einem Browser bei Ihrem Administratorkonto an, um fortzufahren"
  echo "Discourse konfigurieren."

  cp -f /etc/skel/.bashrc /root/.bashrc
else
  echo ""
  echo "-----------------------------------------------------------------------------"
  echo "Das Setup-Skript ist mit den bereitgestellten Discourse-Details fehlgeschlagen."
  echo "Es wird erneut ausgeführt. Bitte beheben Sie die oben genannten Probleme."
  echo "-----------------------------------------------------------------------------"
  echo "Wenn Sie bereit sind, drücken Sie Enter"
  echo "Um das Setup abzubrechen, drücken Sie Strg+C und dieses Skript wird bei Ihrer nächsten Anmeldung erneut ausgeführt"
  read wait
fi

Hostinger hostet die VM. Lassen Sie mich diese Zeile entfernen und versuchen, mich anzumelden und su erneut auszuführen. Ich habe keine Ahnung, wie das in die .bashrc-Datei gelangt ist, ich habe es sicherlich nicht manuell hinzugefügt.

Ja, das behebt das Problem. Es ist mir nie in den Sinn gekommen, dass eine rc-Datei so modifiziert werden könnte, daher ist mir nie in den Sinn gekommen, sie zu überprüfen. Vielen Dank für Ihre Hilfe, sie wird sehr geschätzt!

Nachdem diese Zeile in der bashrc auskommentiert wurde:

cd /var/discourse
if ./discourse-setup; then echo 'gefunden'; else echo 'nicht gefunden'; fi

gibt zurück: nicht gefunden

Für mich ist es seltsam, dass es überhaupt jemals gefunden wurde.

Wenn ich jedoch jetzt (ls -al ./discourse-setup nach etwa 15 Minuten) ausführe, gibt es zurück: -rwxr-xr-x 1 root root 28715 Dez 23 23:24 ./discourse-setup

Wenn ich jetzt if ./discourse-setup; then echo 'gefunden'; else echo 'nicht gefunden'; fi ausführe, tritt das Problem auf, das ich hatte: ...Stoppe bestehenden Container in 5 Sekunden oder Strg+C zum Abbrechen

Ich habe den Kommentar entfernt, mich erneut angemeldet und sudo su ausgeführt, und es wollte den Installationsprozess starten, aber es hat das Skript discourse-setup nicht erstellt. Wie wird also discourse-setup erstellt?

Wie wird das discourse-setup-Skript erstellt und kann ich es manuell löschen? Wenn ich es umbenenne, sehe ich nicht, dass es beim Anmelden neu erstellt wird, mit oder ohne die Zeile /opt/hostinger/scripts/discourse_conf.sh in der root .bashrc.

Ich habe nie Folgendes gesehen:

  echo "Das Setup-Skript ist mit den bereitgestellten Discourse-Details fehlgeschlagen."
  echo "Es wird erneut ausgeführt. Bitte beheben Sie die oben genannten Probleme."

Es hat den Bildschirm gelöscht, und die einzigen Kommentare, die ich gesehen habe, waren:

Die Konfigurationsdatei containers/app.yml existiert bereits!
Speichere alte Datei als app.yml.2024-12-25-193919.bak
Stoppe bestehenden Container in 5 Sekunden oder Strg+C zum Abbrechen.
 diff ./.bashrc /etc/skel/.bashrc
118d117
< # /opt/hostinger/scripts/discourse_conf.sh

Ich habe keine Ahnung, wie diese Zeile in die .bashrc-Datei gelangt ist, und der Text, den ich bei dem Problem sehe, ist nicht das, was in der Datei /opt/hostinger/scripts/discourse_conf.sh beschrieben ist, aber das Problem scheint verschwunden zu sein.

Ich stelle auch fest, dass ich, wenn ich jetzt ./launcher rebuild app ausführe oder die VM neu starte, einen 502-Fehler erhalte, wenn ich versuche, zu schnell auf die Website zuzugreifen. Es dauert etwa eine Minute, bis die Website verfügbar ist. Ich erinnere mich nicht, dass das in der Vergangenheit so war, aber vielleicht habe ich nie versucht, sofort auf die Website zuzugreifen. Gedanken dazu?

1 „Gefällt mir“

Sie müssen die Skripte untersuchen, die beim Anmelden ausgeführt werden, und die Zeilen entfernen, die mit der Ausführung von Setup zusammenhängen.

Soweit ich weiß, wird eine Standardinstallation diese nicht ändern, aber hier sind wir.

Sie haben etwas getan, das das installiert hat.

2 „Gefällt mir“

Du hast deinen Beitrag aus der Chronologie erweitert

Gute Arbeit!

Entschuldigung, es war etwa 2:00 Uhr morgens.

Vielen Dank an alle für die Hilfe. Einige der oben genannten Probleme sind mir immer noch unklar, aber es scheint, dass das Problem mit dem Entfernen der letzten Zeile der .bashrc-Datei behoben wurde.

Um meine eigene Frage zu beantworten: Wie wird das discourse-setup-Skript erstellt und kann ich es manuell löschen?

Das discourse-setup-Skript sollte in /var/discourse vorhanden sein. Es wird als Teil des Basistextes geliefert.

Die 502 für eine Minute, ich werde damit leben, es sei denn, ich höre etwas anderes.

1 „Gefällt mir“

Aber das hast du nicht. Du hast ein Hostinger-Image verwendet, das beim Einloggen automatisch das Discourse-Setup ausführt.

Du möchtest die Zeile, die das Hostinger-Skript ausführt, aus der .bashrc löschen.

Du möchtest discourse-setup nicht löschen, aber du möchtest es auch nicht ausführen.

1 „Gefällt mir“

Ja, das habe ich in Bezug auf die .bashrc und discourse-setup getan, aber ich erinnere mich nicht, dass ich die Installation automatisch ausgeführt habe, noch verstehe ich, warum sie nach vielen Monaten plötzlich wieder gestartet ist.

Ich glaube, ich erinnere mich, den Anweisungen auf GitHub gefolgt zu sein, aber ich könnte mich falsch erinnern.

Auf jeden Fall habe ich diese Zeile aus der .bashrc-Datei entfernt.

Danke.

1 „Gefällt mir“

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