Upgrade fehlgeschlagen... Zeile 115 Spalte 9 -e LANG=en_US.UTF-8

Heute hat Discourse nach Updates gefragt. Als ich das tat, wurde mir Folgendes angezeigt:

cd /var/discourse
git pull
./launcher rebuild app

Und dann gab es folgende Fehlermeldung:
(\u003cunknown\u003e): did not find expected key while parsing a block mapping at line 115 column 9 -e LANG=en_US.UTF-8
Hier ist meine app.yml

## Dies ist die All-in-One, Standalone 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ÜBER FEHLERN BEI LEERZEICHEN ODER AUSRICHTUNG!

## Besuchen Sie http://www.yamllint.com/, um diese Datei bei Bedarf zu validieren

templates:

  - "templates/postgres.template.yml"

  - "templates/redis.template.yml"

  - "templates/web.template.yml"

  - "templates/web.ratelimited.template.yml"

  - "templates/web.socketed.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:

#  - "8888:80"   # http

#  - "443:443" # https

params:

  db_default_text_search_config: "pg_catalog.english"

  ## Stellen Sie db_shared_buffers auf maximal 25% des Gesamtspeichers ein.

  ## wird automatisch von bootstrap basierend auf dem erkannten RAM eingestellt, oder Sie können überschreiben

  db_shared_buffers: "1024MB"

  ## kann die Sortierleistung verbessern, erhöht aber den Speicherverbrauch pro Verbindung

  #db_work_mem: "40MB"

  ## Welche Git-Revision soll dieser Container verwenden? (Standard: tests-passed)

  #version: tests-passed

env:

  LC_ALL: en_US.UTF-8

  LANG: en_US.UTF-8

  LANGUAGE: en_US.UTF-8

  # DISCOURSE_DEFAULT_LOCALE: en

  ## Wie viele gleichzeitige Webanfragen werden unterstützt? Hängt von Speicher und CPU-Kernen ab.

  ## wird automatisch von bootstrap basierend auf den erkannten CPUs eingestellt, oder Sie können überschreiben

  # UNICORN_WORKERS: 2

  ## TODO: Der Domainname, auf den diese Discourse-Instanz reagieren wird

  ## Erforderlich. Discourse funktioniert nicht mit einer reinen IP-Nummer.

  DISCOURSE_HOSTNAME: domain.com

  DISCOURSE_RELATIVE_URL_ROOT: /forums

  ## Kommentieren Sie dies 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 beim ersten Login Administrator und Entwickler werden

  ## z.B. 'user1@example.com,user2@example.com'

  DISCOURSE_DEVELOPER_EMAILS: 'hello@domain.com'

  ## TODO: Der SMTP-Mailserver, der zum Validieren neuer Konten und zum Senden von Benachrichtigungen verwendet wird

  # SMTP-ADRESSE, Benutzername und Passwort sind erforderlich

  # WARNUNG: Das Zeichen '#' im SMTP-Passwort kann Probleme verursachen!

  DISCOURSE_SMTP_ADDRESS: smtp.gmail.com

  DISCOURSE_SMTP_PORT: 587

  DISCOURSE_SMTP_USER_NAME: hello@domain.com

  DISCOURSE_SMTP_PASSWORD: "password"

  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, Standard true)

  DISCOURSE_SMTP_DOMAIN: domain.com

  DISCOURSE_NOTIFICATION_EMAIL: hello@domain.com

  ## Wenn Sie die Lets Encrypt-Vorlage hinzugefügt haben, kommentieren Sie unten aus, um ein kostenloses SSL-Zertifikat zu erhalten

  LETSENCRYPT_ACCOUNT_EMAIL: hello@domain.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-Adressensuche

  ## siehe https://meta.discourse.org/t/-/137387/23 für Details

  #DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456

## 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 einfügen

## 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

          - git clone https://github.com/cfstras/discourse-konami.git

          #- git clone https://github.com/discourse/discourse-adplugin.git

          - git clone https://github.com/discourse/discourse-cakeday.git

          #- git clone https://github.com/discourse/discourse-docs.git

          - git clone https://github.com/discourse/discourse-sitemap.git

          - git clone https://github.com/discourse/discourse-solved.git

          #- git clone https://github.com/discourse/discourse-tooltips.git

          - git clone https://github.com/discourse/discourse-yearly-review.git

          - git clone https://github.com/merefield/discourse-word-cloud.git

## Beliebige benutzerdefinierte Befehle, die nach dem Erstellen ausgeführt werden sollen

run:

    - exec: echo "Beginn der benutzerdefinierten Befehle"

    - exec:

        cd: $home

        cmd:

          echo entering $home

          - mkdir -p public/forums

          #- cd public/forums

          - ln -s ../uploads

          - ln -s ../backups

          #- rm public/uploads

          #- rm public/backups

    - replace:

       global: true

       filename: /etc/nginx/conf.d/discourse.conf

       from: proxy_pass http://discourse;

       to: |

          rewrite ^/(.*)$ /forums/$1 break;

          proxy_pass http://discourse;

    - replace:

       filename: /etc/nginx/conf.d/discourse.conf

       from: etag off;

       to: |

          etag off;

          location /forums {

             rewrite ^/forums/?(.*)$ /$1;

          }

    - replace:

         filename: /etc/nginx/conf.d/discourse.conf

         from: $proxy_add_x_forwarded_for

         to: $http_your_original_ip_header

         global: true

    - exec: awk -F\\# '{print $1;}' ~/.ssh/authorized_keys | awk 'BEGIN { print "Autorisierte SSH-Schlüssel für diesen Container:"; } NF>=2 {print $NF;}'

    - exec: echo "Ende der benutzerdefinierten Befehle"

Ich glaube, es liegt an der replace-Klausel am Ende. Ihre Einrückung unterscheidet sich von der darüberliegenden.

Haben Sie diese seit dem letzten Upgrade bearbeitet?

Ich habe es nicht angerührt, aber es war eine Stunde her, also habe ich gepostet. Selbst yamllint.com würde sich beschweren.

Dann habe ich eine Regex-Suche und -Ersetzung durchgeführt, um alle Kommentare zu entfernen, und irgendwie hat es funktioniert. Es kompiliert, während ich das hier schreibe. Daumen drücken. Wenn das schiefgeht, muss ich es leider aufgeben.

1 „Gefällt mir“