Hallo,
mein Forum stürzt jedes Mal ab, wenn ich ./launcher rebuild app ausführe.
Ich habe einen Screenshot des Fehlers beigefügt.
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.
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.
Ich habe diese Zeile 9 Elemente komplett entfernt, aber es wird immer noch angezeigt, dass Zeile 9 ein Syntaxfehler ist.
Wie kann ich es löschen und neu erstellen?
Ich würde zuerst ein Backup machen, falls es Inhalte gibt. Und danach:
cd /var/discourse
mv containers/app.yml .
./discourse-setup
wird das meine Forendaten löschen? wie Beiträge und Benutzer und all das?
Nein. Aber deshalb haben Sie zuerst ein vollständiges Backup erstellt.
Sie können aber auch Folgendes versuchen:
Ich habe versucht, die YAML-Validierung durchzuführen, und sie sagt, alles sei in Ordnung.
Ich glaube, es ist ein Glitch
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.
Können Sie Ihre vollständige app.yml ohne sichere Informationen (Passwörter usw.) teilen?
## 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.
Du überrollst mich ![]()
Was denkst du – wäre ein neues ./discourse-setup der schnellste und einfachste Weg, dieses Durcheinander zu beheben?
