Aggiornamento fallito... riga 115 colonna 9 -e LANG=en_US.UTF-8

Oggi Discourse ha richiesto aggiornamenti. Quando l’ho fatto, ha detto di fare quanto segue:

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

E poi ha restituito:
(\u003cunknown\u003e): non ha trovato la chiave attesa durante l'analisi di un blocco di mappatura alla riga 115 colonna 9 -e LANG=en_US.UTF-8
Ecco il mio app.yml

## questo è il template del container Docker di Discourse all-in-one, standalone

##

## Dopo aver apportato modifiche a questo file, DEVI ricostruire

## /var/discourse/launcher rebuild app

##

## FAI *MOLTA* ATTENZIONE QUANDO MODIFICHI!

## I FILE YAML SONO ESTREMAMENTE SENSIBILI A ERRORI DI SPAZIATURA O ALLINEAMENTO!

## visita http://www.yamllint.com/ per convalidare questo file secondo necessità
templates:

  - "templates/postgres.template.yml"

  - "templates/redis.template.yml"

  - "templates/web.template.yml"

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

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

## Decommenta queste due righe se desideri aggiungere Lets Encrypt (https)

#  - "templates/web.ssl.template.yml"

#  - "templates/web.letsencrypt.ssl.template.yml"

## quali porte TCP/IP deve esporre questo container?

## Se desideri che Discourse condivida una porta con un altro webserver come Apache o nginx,

## vedi https://meta.discourse.org/t/17247 per i dettagli

#expose:

#  - "8888:80"   # http

#  - "443:443" # https

params:

  db_default_text_search_config: "pg_catalog.english"

  ## Imposta db_shared_buffers al massimo del 25% della memoria totale.

  ## verrà impostato automaticamente da bootstrap in base alla RAM rilevata, o puoi sovrascriverlo

  db_shared_buffers: "1024MB"

  ## può migliorare le prestazioni di ordinamento, ma aumenta l'utilizzo della memoria per connessione

  #db_work_mem: "40MB"

  ## Quale revisione Git dovrebbe usare questo container? (default: 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

  ## Quante richieste web concorrenti sono supportate? Dipende da memoria e core CPU.

  ## verrà impostato automaticamente da bootstrap in base alle CPU rilevate, o puoi sovrascriverlo

  # UNICORN_WORKERS: 2

  ## TODO: Il nome di dominio a cui risponderà questa istanza di Discourse

  ## Obbligatorio. Discourse non funzionerà con un semplice numero IP.

  DISCOURSE_HOSTNAME: domain.com

  DISCOURSE_RELATIVE_URL_ROOT: /forums

  ## Decommenta se desideri che il container venga avviato con lo stesso

  ## hostname (-h option) specificato sopra (default "$hostname-$config")

  #DOCKER_USE_HOSTNAME: true

  ## TODO: Elenco di email separate da virgola che diventeranno amministratori e sviluppatori

  ## alla prima registrazione, ad esempio 'user1@example.com,user2@example.com'

  DISCOURSE_DEVELOPER_EMAILS: 'hello@domain.com'

  ## TODO: Il server di posta SMTP utilizzato per convalidare i nuovi account e inviare notifiche

  # L'indirizzo SMTP, il nome utente e la password sono obbligatori

  # ATTENZIONE il carattere '#' nella password SMTP può causare problemi!

  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           # (opzionale, default true)

  DISCOURSE_SMTP_DOMAIN: domain.com

  DISCOURSE_NOTIFICATION_EMAIL: hello@domain.com

  ## Se hai aggiunto il template Lets Encrypt, decommenta sotto per ottenere un certificato SSL gratuito

  LETSENCRYPT_ACCOUNT_EMAIL: hello@domain.com

  ## L'indirizzo CDN http o https per questa istanza di Discourse (configurato per il pull)

  ## vedi https://meta.discourse.org/t/14857 per i dettagli

  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com

  ## La chiave dell'indirizzo IP di geolocalizzazione maxmind per la ricerca dell'indirizzo IP

  ## vedi https://meta.discourse.org/t/-/137387/23 per i dettagli

  #DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456

## Il container Docker è stateless; tutti i dati sono memorizzati in /shared

volumes:

  - volume:

      host: /var/discourse/shared/standalone

      guest: /shared

  - volume:

      host: /var/discourse/shared/standalone/log/var-log

      guest: /var/log

## I plugin vanno qui

## vedi https://meta.discourse.org/t/19157 per i dettagli

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

## Qualsiasi comando personalizzato da eseguire dopo la compilazione

run:

    - exec: echo "Inizio comandi personalizzati"

    - 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 "Authorized SSH keys for this container:"; } NF>=2 {print $NF;}'

    - exec: echo "Fine comandi personalizzati"

Penso che sia la clausola replace alla fine. La sua indentazione è diversa da quella sopra.

Hai modificato questo dopo l’ultimo aggiornamento?

Non l’ho toccato ma era passata un’ora, quindi ho pubblicato. Anche yamllint.com si lamenterebbe.

Poi ho fatto una ricerca e sostituzione con espressioni regolari per rimuovere tutti i commenti e in qualche modo ha funzionato. Si sta compilando mentre scrivo. Incrociamo le dita. Se questo va storto, purtroppo dovrò arrendermi.

1 Mi Piace