Meu site está fora do ar depois que instalei um plugin

Fui instalar um plugin e ele começou a dar o seguinte erro na parte em que faço o ./launcher rebuild app

Usei o ./discourse-doctor mas não resolveu

FAILED
--------------------
Pups::ExecError: if [ -z "$LETSENCRYPT_ACCOUNT_EMAIL" ]; then echo "LETSENCRYPT_ACCOUNT_EMAIL ENV variable is required and has not been set."; exit 1; fi falhou com retorno #<Process::Status: pid 2296 exit 1>
Localização da falha: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec falhou com os parâmetros {"cmd"=>["if [ -z \"$LETSENCRYPT_ACCOUNT_EMAIL\" ]; then echo \"LETSENCRYPT_ACCOUNT_EMAIL ENV variable is required and has not been set.\"; exit 1; fi", "/bin/bash -c \"if [[ ! \\\"$LETSENCRYPT_ACCOUNT_EMAIL\\\" =~ ([^@]+)@([^\\\\.]+) ]]; then echo \\\"LETSENCRYPT_ACCOUNT_EMAIL is not a valid email address\\\"; exit 1; fi\""]}
bootstrap falhou com código de saída 1
** FALHA AO INICIALIZAR ** por favor, role para cima e procure por mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.
324b6cc40db917188cb3d87640ff1a1c23142c551b71bc55b0f33ccd88e88af7

Agora, mostre isto

root@ForumPandex:/var/discourse# ./launcher rebuild app
x86_64 arch detected.
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
(unknown): could not find expected ':' while scanning a simple key at line 67 column 3 -e LANG=en_US.UTF-8
YAML syntax error. Please check your containers/*.yml config files.

Parece que você pode ter um erro de digitação em seu app.yml.

A primeira mensagem de erro apontaria para seu e-mail do let’sencrypt, mas a segunda sugere que você tem dois pontos ausentes. Você consegue ver algo óbvio que possa ter adicionado/excluído acidentalmente ao editar para adicionar o plugin?

3 curtidas
ger.git
          - git clone https://github.com/discourse/discourse-spoiler-alert.git
          - git clone https://github.com/discourse/discourse-yearly-review.git
          - git clone https://github.com/mondiscourse/discourse-formatting-toolbar.git
          - git clone https://github.com/techapj/discourse-custom-topic-button.git
          - git clone https://github.com/discourse/discourse-chat.git
          - git clone https://github.com/discourse/discourse-adplugin.git
          - git clone https://github.com/communiteq/discourse-delete-unreplied-topics
          - git clone https://github.com/discourse/discourse-animated-avatars
          - git clone https://github.com/gnunicorn/discourse-plugin-replygif
          - git clone https://github.com/discourse/discourse-gamification
          - git clone https://github.com/discourse/discourse-reactions.git
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-spoiler-alert.git
          - git clone https://github.com/discourse/discourse-yearly-review.git
          - git clone https://github.com/mondiscourse/discourse-formatting-toolbar.git
          - git clone https://github.com/techapj/discourse-custom-topic-button.git
          - git clone https://github.com/discourse/discourse-chat.git
          - git clone https://github.com/discourse/discourse-adplugin.git
          - git clone https://github.com/communiteq/discourse-delete-unrepl
          - git clone https://github.com/discourse/discourse-animated-avata
          - git clone https://github.com/gnunicorn/discourse-plugin-replygif
          - git clone https://github.com/discourse/discourse-gamification
          - git clone https://github.com/discourse/discourse-reactions.git
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-spoiler-alert.

## Quaisquer comandos personalizados para executar após a compilação
run:
  - exec: echo "Início dos comandos personalizados"
  ## Se você quiser definir o endereço de e-mail 'De' para o seu primeiro registro, descomente e altere:
  ## Após receber o primeiro e-mail de inscrição, comente a linha novamente. Só precisa ser executada uma vez.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Fim dos comandos personalizados"

@JammyDodger está certo sobre o erro de digitação. Vejo pelo menos três:

4 curtidas

Isso, e todos os seus plugins estão lá duas vezes.

4 curtidas

na verdade, quando eu criei, copiei errado, há alguma forma de copiar tudo de uma vez do prompt?

Pessoal, eu nem sei mais o que eu fiz, só sei que o site ainda está fora do ar, como posso saber o que eu fiz de errado?

agora o discourse doctor says it

======================================== ERROR ========================================
                                    UNEXPECTED ERROR

Timeout to open TCP connection to email-smtp.us-east-1.amazonaws.com:25 (exceeds 5 seconds)

====================================== SOLUTION =======================================
This is not a common error. No recommended solution exists!

Please report the exact error message above to https://meta.discourse.org/
(And a solution, if you find one!)
=======================================================================================
Replacing: SMTP_PASSWORD
Replacing: LETSENCRYPT_ACCOUNT_EMAIL
Replacing: DEVELOPER_EMAILS
Replacing: DISCOURSE_DB_PASSWORD
Replacing: Sending mail to

==================== DONE! ====================
Would you like to serve a publicly available version of this file? (Y/n)```

Você deve ser capaz de reiniciar o contêiner antigo com

./launcher start app

Em seguida, você precisa corrigir seu yml.

Ah, o discourse doctor deveria ter reiniciado o contêiner antigo.

ainda ruim
estou desesperado

A coisa mais fácil a fazer pode ser renomear seu app.yml para broken.yml, então execute ./discourse-setup. Isso criará um novo app.yml, mas não exclua seus dados existentes.

8 curtidas

Eu tentei e agora mostra isso

Verificando o nome do seu domínio . . .
AVISO: A porta 443 do computador não parece acessível usando o nome do host: www.dexforum.com.br].
AVISO: A conexão com http://www.dexforum.com.br] (porta 80) também falha.

Isso sugere que www.dexforum.com.br] resolve para algum endereço IP que não atinge esta
máquina onde você está instalando o discourse.

A primeira coisa a fazer é confirmar que www.dexforum.com.br] resolve para o endereço IP deste servidor.
Normalmente, você faz isso no mesmo local onde comprou o domínio.

Se você tem certeza de que o endereço IP resolve corretamente, pode ser um problema de firewall.
Uma pesquisa na web por \"abrir portas SEU SERVIÇO DE NUVEM\" pode ajudar.

Esta ferramenta foi projetada apenas para as instalações mais padrão. Se você não conseguir resolver
o problema acima, precisará editar o arquivo containers/app.yml você mesmo e, em seguida, digitar

./launcher rebuild app

Bem, agora consegui configurar o discourse, mas ao reconstruir, isso aparece

(desconhecido): valores de mapeamento não são permitidos neste contexto na linha 98 coluna 12 -e LANG=en_US.UTF-8
Erro de sintaxe YAML. Verifique seus arquivos de configuração containers/*.yml.

Você editou o app.yml manualmente, para, digamos, adicionar um plugin?

Sim, é aí que ficam os ganchos after_code para plugins.

@danielabc, se você quer que a gente te ajude, precisa dar feedback sobre os passos que fornecemos, idealmente sem sair do script. A instalação de plugins virá depois que te ajudarmos a reconstruir uma instância funcional.

1 curtida

Consegui resolver, mas vocês sabem o que achei estranho, foi que todos os .yml que o Discourse criou estavam com a formatação errada? Isso é possível? Eu não fiz nada, nem editei, mas o .yml sempre era criado com a formatação errada.

Eu usei o https://www.yamllint.com/ que encontrei no Google, ele me ajudou com a formatação correta, e finalmente consegui fazer um rebuild.

mas eu nunca levei em consideração que o arquivo .yml poderia estar sendo mal formatado pelo sistema, isso me deixou confuso.

1 curtida

O Discourse-setup não foi alterado em cerca de seis meses.
A única maneira que consigo pensar que poderia produzir yaml malformado é através das respostas aos prompts.
Você copiou e colou as respostas ou as digitou manualmente?

2 curtidas

Esse colchete não deveria estar lá.

Acabei de gerar um comando para criar um novo .yml, mas não alterei nada no novo .yml, apenas fiz a reconstrução que deu um erro devido a formatação incorreta.