Falha ao inicializar em um droplet DO com mailjet

Oi
Estou ficando louco aqui.
Segui as instruções padrão de instalação, configurei o Mailjet, etc., mas o bootstrap falha toda vez.

Aqui está a configuração, só não consigo ver o que estou perdendo.
Alguma ideia?

Obrigado

Isso parece correto?

Hostname      : forum.mydomain.com
Email         : forumadmin@mydomain.com
Endereço SMTP : in-v3.mailjet.com
Porta SMTP    : 587
Usuário SMTP  : b91xxxxxxd3222d809xxxxxxe3de52d
Senha SMTP    :xxxxxx5b75ecdf24f31c2axxxxxx6903
Let's Encrypt : SENHA (CHAVE SECRETA)

Então

FALHA

--------------------

Pups::ExecError: /bin/bash -c "if [[ ! \"$LETSENCRYPT_ACCOUNT_EMAIL\" =~ ([^@]+)@([^\.]+) ]]; then echo \"LETSENCRYPT_ACCOUNT_EMAIL não é um endereço de e-mail válido\"; exit 1; fi" falhou com retorno #<Process::Status: pid 5329 exit 1>

Local da falha: /pups/lib/pups/exec_command.rb:112:in `spawn'

exec falhou com os parâmetros {"cmd"=>["if [ -z \"$LETSENCRYPT_ACCOUNT_EMAIL\" ]; then echo \"A variável de ambiente LETSENCRYPT_ACCOUNT_EMAIL é obrigatória e não foi definida.\"; exit 1; fi", "/bin/bash -c \"if [[ ! \\\"$LETSENCRYPT_ACCOUNT_EMAIL\\\" =~ ([^@]+)@([^\\.]+) ]]; then echo \\\"LETSENCRYPT_ACCOUNT_EMAIL não é um endereço de e-mail válido\\\"; exit 1; fi\""]}

xxxxxxxxxxxxxxxxxxxxxxe6e31b17b7exxxxxxxxxxxxxxxxxx856eb0

** FALHA NO BOOTSTRAP ** por favor, role para cima e procure mensagens de erro anteriores, pode haver mais de uma.

./discourse-doctor pode ajudar a diagnosticar o problema.

Por que o e-mail no campo do Let’s Encrypt seria uma senha ou chave secreta? Ele deveria ser um endereço de e-mail.

O script não permite que eu digite nada para o LETS ENCRYPT.
Assim que insiro o nome de usuário e a senha do SMTP, ele começa a funcionar.

Sim, parece ser a variável do Let’s Encrypt, mas, como mencionei acima, o script de instalação não oferece a oportunidade de fornecer um endereço de e-mail. Assim que a senha SMTP é recebida, o processo parece pular essa etapa e exibir um erro.

Você pode ver isso aqui…

Hostname para seu Discourse? [forum.uaptn.com]: 
Endereço de e-mail para conta(s) de administrador? [forumadmin@uaptn.com]: xxxxxxxxe@protonmail.com
Endereço do servidor SMTP? [in-v3.mailjet.com]: 
Porta SMTP? [587]: 
Nome de usuário SMTP? [b91xxxxxxxxxxxxxxxxxxde52d]: 
Senha SMTP? [1d2xxxxxxxxxxxxxxxxxxxxxxxxxxxx903]: 
./discourse-setup: linha 438: [: argumentos demais

Verificando seu nome de domínio . . .
Conexão com forum.uaptn.com bem-sucedida.

Isso parece correto?

Hostname      : forum.uaptn.com
E-mail        : xxxxxxxxx@protonmail.com
Endereço SMTP : in-v3.mailjet.com
Porta SMTP    : 587
Usuário SMTP  : b91xxxxxxxxxxxxxxxxxxxxxe52d
Senha SMTP    : 1d2cxxxxxxxxxxxxxxxxxxx5086903
Let's Encrypt : SENHA (CHAVE SECRETA)

Pressione ENTER para continuar, 'n' para tentar novamente, Ctrl+C para sair:

Insira um endereço de e-mail aqui em vez de uma senha secreta.

Esse endereço de e-mail é usado para criar uma conta no Let’s Encrypt e obter um certificado SSL para o Discourse.

Não sei como você não conseguiria inserir o endereço de e-mail do Let’s Encrypt. Você está colando uma quebra de linha extra?

Isso, senhor, é uma ideia, deixe-me tentar

Não é isso. O script apenas ignora a parte do Let’s Encrypt; assim que eu digito a senha, aparece a linha 438: [: muitos argumentos e ele continua.

Sua senha contém caracteres especiais? Tente inserir uma senha falsa sem caracteres especiais, como 123456, e veja se ele solicita o e-mail do Let’s Encrypt.

Não, não é. É a senha gerada diretamente pelo Mailjet, mas vou tentar inserir uma falsa.

Não funcionou. Tentei isso e o erro é o mesmo.

Talvez o script não esteja perguntando porque o valor já está no seu app.yml e, em seguida, ele gera o erro devido a este (porque o e-mail já está incorreto no arquivo app.yml).

Tente alterar o e-mail no arquivo manualmente e veja se funciona (nano containers/app.yml).

A linha que gerou o erro verifica se o e-mail do Let’s Encrypt não está vazio para mostrá-lo a você e perguntar se deseja alterá-lo, mas como a condição não envolve a variável em aspas duplas, o valor que está no seu app.yml é expandido e gera o erro de Too many arguments.

Acho que, se a equipe do Discourse envolvesse a variável em aspas duplas, ajudaria a evitar casos como esses, mas eles devem ser raros de qualquer forma (provavelmente, na primeira vez que você executa a configuração, o valor foi definido incorretamente).

Isso funcionou :+1: - ou seja, ele me oferece essa etapa após alterar o app.yml manualmente

Torcendo pelo bootstrap

Muito obrigado.