Impossibile eseguire il bootstrap su un droplet DO con mailjet

Ciao,
sto tirandomi i capelli.
Ho seguito le istruzioni standard di installazione, ho configurato Mailjet e così via, ma l’avvio (bootstrap) fallisce ogni volta.

Ecco la configurazione, non riesco proprio a capire cosa mi stia sfuggendo.
Qualche idea?

Grazie

Sembra corretta?

Hostname      : forum.mydomain.com
Email         : forumadmin@mydomain.com
Indirizzo SMTP  : in-v3.mailjet.com
Porta SMTP     : 587
Nome utente SMTP : b91xxxxxxd3222d809xxxxxxe3de52d
Password SMTP :xxxxxx5b75ecdf24f31c2axxxxxx6903
Let's Encrypt : PASSWORD (CHIAVE SEGRETA)

poi

FALLITO

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

Pups::ExecError: /bin/bash -c "if [[ ! \"$LETSENCRYPT_ACCOUNT_EMAIL\" =~ ([^@]+)@([^\.]+) ]]; then echo \"LETSENCRYPT_ACCOUNT_EMAIL non è un indirizzo email valido\"; exit 1; fi" fallito con return #<Process::Status: pid 5329 exit 1>

Posizione del fallimento: /pups/lib/pups/exec_command.rb:112:in `spawn'

exec fallito con i parametri {"cmd"=>["if [ -z \"$LETSENCRYPT_ACCOUNT_EMAIL\" ]; then echo \"LETSENCRYPT_ACCOUNT_EMAIL ENV variable è richiesta e non è stata impostata.\"; exit 1; fi", "/bin/bash -c \"if [[ ! \\\"$LETSENCRYPT_ACCOUNT_EMAIL\\\" =~ ([^@]+)@([^\\.]+) ]]; then echo \\\"LETSENCRYPT_ACCOUNT_EMAIL non è un indirizzo email valido\\\"; exit 1; fi\""]}

xxxxxxxxxxxxxxxxxxxxxxe6e31b17b7exxxxxxxxxxxxxxxxxx856eb0

** AVVIAMENTO FALLITO ** scorri verso l'alto e cerca i messaggi di errore precedenti, potrebbero essercene più di uno.

./discourse-doctor potrebbe aiutare a diagnosticare il problema.

Perché l’email nel campo Let’s Encrypt dovrebbe essere una password o una chiave segreta? Dovrebbe essere un indirizzo email.

Lo script non mi permette di inserire nulla per LETS ENCRYPT.
Non appena inserisco nome utente e password SMTP, parte immediatamente.

Sì, sembra essere la variabile di Let’s Encrypt, ma come ho detto sopra, lo script di installazione non consente di inserire un indirizzo email. Non appena viene ricevuta la password SMTP, sembra saltare quella fase e mostra un errore.

Puoi vederlo qui…

Nome host per il tuo Discourse? [forum.uaptn.com]: 
Indirizzo email per gli account amministratore? [forumadmin@uaptn.com]: xxxxxxxxe@protonmail.com
Indirizzo server SMTP? [in-v3.mailjet.com]: 
Porta SMTP? [587]: 
Nome utente SMTP? [b91xxxxxxxxxxxxxxxxxxde52d]: 
Password SMTP? [1d2xxxxxxxxxxxxxxxxxxxxxxxxxxxx903]: 
./discourse-setup: riga 438: [: troppi argomenti

Controllo del nome di dominio . . .
Connessione a forum.uaptn.com riuscita.

Sembra corretto?

Nome host      : forum.uaptn.com
Email         : xxxxxxxxx@protonmail.com
Indirizzo SMTP  : in-v3.mailjet.com
Porta SMTP     : 587
Nome utente SMTP : b91xxxxxxxxxxxxxxxxxxxxxe52d
Password SMTP : 1d2cxxxxxxxxxxxxxxxxxxx5086903
Let's Encrypt : PASSWORD (CHIAVE SEGRETA)

Premi INVIO per continuare, 'n' per riprovare, Ctrl+C per uscire:

Inserisci qui un indirizzo email invece di una password segreta.

Questo indirizzo email viene utilizzato per creare un account su Let’s Encrypt e ottenere un certificato SSL per Discourse.

Non capisco come tu non riesca a inserire l’indirizzo email di Let’s Encrypt. Stai aggiungendo un ritorno a capo extra?

Questo, signore, è un pensiero, proviamo

Non è quello. Lo script passa semplicemente oltre la parte di Let’s Encrypt; non appena inserisco la password, appare quell’errore ‘riga 438: [: troppi argomenti’ e prosegue.

La tua password contiene caratteri speciali? Prova a inserire una password finta senza caratteri speciali, come 123456, e verifica se viene richiesta l’email di Let’s Encrypt.

No, non è così, è la password generata direttamente da Mailjet, ma proverò a inserirne una finta.

Niente da fare. Ci ho provato, ma l’errore è lo stesso.

Forse lo script non chiede perché l’indirizzo è già presente nel tuo app.yml e poi genera l’errore a causa di questo (perché l’email è già errata nel file app.yml).

Prova a modificare manualmente l’email nel file e verifica se funziona (nano containers/app.yml).

La riga che ha generato l’errore verifica se l’email di Let’s Encrypt non è vuota per mostrarla e chiederti se vuoi modificarla, ma poiché la condizione non racchiude la variabile tra virgolette doppie, il valore presente nel tuo app.yml viene espanso, causando l’errore Too many arguments.

Penso che se il team di Discourse avesse racchiuso la variabile tra virgolette doppie avrebbe aiutato a evitare casi del genere, ma comunque dovrebbero essere rari (probabilmente la prima volta che esegui la configurazione, il valore è stato impostato in modo errato).

ha funzionato :+1: - nel senso che mi propone quel passaggio dopo aver modificato manualmente app.yml

incrocio le dita per il bootstrap

grazie mille.