Mein Forum geht kaputt, wenn ich die Launcher-Rebuild-App mache

Hallo,
mein Forum stürzt jedes Mal ab, wenn ich ./launcher rebuild app ausführe.
Ich habe einen Screenshot des Fehlers beigefügt.

1 „Gefällt mir“

Wenn ich das richtig verstehe, besagt die Fehlermeldung, dass es ein Problem in Zeile 9 gibt.

Versuchen Sie, diesen Befehl einzugeben:

cat -n containers/app.yml

Dadurch wird der Inhalt der Datei mit Zeilennummern ausgegeben, und Sie können Zeile 9 auf Syntaxfehler überprüfen.

Es wäre wahrscheinlich auch eine gute Idee, diesen chmod-Befehl auszuführen, der in der Ausgabe erwähnt wird, obwohl er nichts mit dem Fehler zu tun hat.

3 „Gefällt mir“

Nun, nano -l ist ein viel einfacherer Weg, die richtige Zeile zu finden und sie sofort zu korrigieren ;)\n\nWenn du nicht zu viel geändert hast, befindet sich app.yml Zeile 9 direkt vor templates: – könnte dort etwas Seltsames wie ein zusätzlicher Leerraum sein?\n\nAber eines, das ich über YAML gelernt habe, ist, dass es fast überall einen Leerraum geben kann, ein fehlendes Leerzeichen, ein fehlendes Anführungszeichen oder ein falscher Typ – und der Fehler zeigt auf die falsche Stelle.\n\nIch würde sagen, es ist einfacher, app.yml zu löschen und das Setup erneut durchzuführen.

2 „Gefällt mir“

Ich habe diese Zeile 9 Elemente komplett entfernt, aber es wird immer noch angezeigt, dass Zeile 9 ein Syntaxfehler ist.

1 „Gefällt mir“

Wie kann ich es löschen und neu erstellen?

1 „Gefällt mir“

Ich würde zuerst ein Backup machen, falls es Inhalte gibt. Und danach:

cd /var/discourse
mv containers/app.yml .
./discourse-setup
1 „Gefällt mir“

wird das meine Forendaten löschen? wie Beiträge und Benutzer und all das?

1 „Gefällt mir“

Nein. Aber deshalb haben Sie zuerst ein vollständiges Backup erstellt.

Sie können aber auch Folgendes versuchen:

1 „Gefällt mir“

Ich habe versucht, die YAML-Validierung durchzuführen, und sie sagt, alles sei in Ordnung.

1 „Gefällt mir“

Ich glaube, es ist ein Glitch

1 „Gefällt mir“

Etwas schon.

Aber Sie können Ihre app.yml hier so kopieren und einfügen, wie sie ist. Dann könnte jemand Klügeres einen Blick darauf werfen. Denn jetzt weiß niemand, was da ist oder nicht da ist.

2 „Gefällt mir“

Können Sie Ihre vollständige app.yml ohne sichere Informationen (Passwörter usw.) teilen?

1 „Gefällt mir“

## Dies ist die All-in-One, eigenständige Discourse Docker Container-Vorlage
##
## Nach Änderungen an dieser Datei MÜSSEN Sie neu erstellen
## /var/discourse/launcher rebuild app
##
## SEIEN SIE *SEHR* VORSICHTIG BEIM BEARBEITEN!
## YAML-DATEIEN SIND SUPER SUPER EMPFINDLICH GEGEN FEHLER BEI LEERZEICHEN ODER AUSRICHTUNG!
## besuchen Sie http://www.yamllint.com/, um diese Datei bei Bedarf zu validieren
hooks:  after_code:    - exec:        cd: $home/plugins        cmd:          - sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git          - sudo -E -u discourse git coe tp/gtu.c/dcusedcu-pile-rti
templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## Kommentieren Sie diese beiden Zeilen aus, wenn Sie Lets Encrypt (https) hinzufügen möchten
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"

## welche TCP/IP-Ports soll dieser Container bereitstellen?
## Wenn Sie möchten, dass Discourse einen Port mit einem anderen Webserver wie Apache oder nginx teilt,
## siehe https://meta.discourse.org/t/17247 für Details
expose:
  - "80:80"   # http
  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Setzen Sie db_shared_buffers auf maximal 25% des Gesamtspeichers.
  ## wird automatisch vom Bootstrap basierend auf dem erkannten RAM gesetzt, oder Sie können überschreiben
  db_shared_buffers: "256MB"

  ## kann die Sortierleistung verbessern, fügt aber Speicherverbrauch pro Verbindung hinzu
  #db_work_mem: "40MB"

  ## Welche Git-Revision soll dieser Container verwenden? (Standard: tests-passed)
  #version: tests-passed
  ## Maximale Upload-Größe (Standard: 900m)
  upload_size: 900m

env:
  # DISCOURSE_DEFAULT_LOCALE: en
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8

  ## Wie viele gleichzeitige Webanfragen werden unterstützt? Hängt von Speicher und CPU-Kernen ab.
  ## wird automatisch vom Bootstrap basierend auf den erkannten CPUs gesetzt, oder Sie können überschreiben
  UNICORN_WORKERS: 4

  ## TODO: Der Domainname, auf den diese Discourse-Instanz reagieren wird
  ## Erforderlich. Discourse funktioniert nicht mit einer reinen IP-Nummer.
  DISCOURSE_HOSTNAME:

  ## Kommentieren Sie aus, wenn der Container mit demselben
  ## Hostnamen (-h Option) wie oben angegeben gestartet werden soll (Standard "hostname-config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Liste von per Komma getrennten E-Mails, die bei der Erstanmeldung Administrator und Entwickler werden
  ## Beispiel 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: ''

  ## TODO: Der SMTP-Mailserver, der zum Überprüfen neuer Konten und zum Senden von Benachrichtigungen verwendet wird
  # SMTP-ADRESSE, Benutzername und Passwort sind erforderlich
  # ACHTUNG: Das Zeichen '#' im SMTP-Passwort kann Probleme verursachen!
  DISCOURSE_SMTP_ADDRESS: smtp.mailgun.org
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: ###
  DISCOURSE_SMTP_PASSWORD: "##-07e2c238-419aaa92"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, Standard true)
  DISCOURSE_SMTP_DOMAIN:
  DISCOURSE_NOTIFICATION_EMAIL:

  ## Wenn Sie die Lets Encrypt-Vorlage hinzugefügt haben, kommentieren Sie unten aus, um ein kostenloses SSL-Zertifikat zu erhalten
  LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## Die HTTP- oder HTTPS-CDN-Adresse für diese Discourse-Instanz (konfiguriert zum Abrufen)
  ## siehe https://meta.discourse.org/t/14857 für Details
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com

  ## Der Maxmind-Geolocation-IP-Adressschlüssel für die IP-Adresssuche
  ## siehe https://meta.discourse.org/t/-/137387/23 für Details
  #DISCOURSE_MAXMIND_LICENSE_KEY: ##

## Der Docker-Container ist zustandslos; alle Daten werden in /shared gespeichert
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## Plugins hier
## siehe https://meta.discourse.org/t/19157 für Details
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

## Alle benutzerdefinierten Befehle, die nach dem Erstellen ausgeführt werden sollen
run:
  - exec: echo "Beginn der benutzerdefinierten Befehle"
  ## Wenn Sie die 'Von'-E-Mail-Adresse für Ihre erste Registrierung festlegen möchten, kommentieren Sie sie aus und ändern Sie sie:
  ## Nachdem Sie die erste Registrierungs-E-Mail erhalten haben, kommentieren Sie die Zeile wieder aus. Sie muss nur einmal ausgeführt werden.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Ende der benutzerdefinierten Befehle"

Ich glaube nicht, dass dies der Anfang der Datei sein sollte:
hooks: after_code: - exec: cd: $home/plugins cmd: - sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git - sudo -E -u discourse git coe tp/gtu.c/dcusedcu-pile-rti

Und es fehlen zwei Zeilen unter der Zeile LANG: en_US.UTF-8.

LANGUAGE: en_US.UTF-8
# DISCOURSE_DEFAULT_LOCALE: en

Vielleicht gibt es noch mehr, die ich nicht bemerkt habe, aber hier ist die Standarddatei und Sie können sie vergleichen.

Die allererste tatsächliche Zeile, die mit hooks: beginnt, kann nicht richtig sein. Sie sollte so etwas wie folgt aussehen:

hooks:
  after_assets_precompile:
    - exec:
        cd: $home
        cmd:
          - sudo -E -u discourse bundle exec rake s3:upload_assets
          - sudo -E -u discourse bundle exec rake posts:rebake
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

Nun, nicht genau so, weil dies von meiner stammt, aber Zeilen, Einrückungen usw. sollten ähnlich sein.

1 „Gefällt mir“

Du überrollst mich :rofl:

Was denkst du – wäre ein neues ./discourse-setup der schnellste und einfachste Weg, dieses Durcheinander zu beheben?