Fallo al iniciar en un droplet de DO con mailjet

Hola
Me estoy volviendo loco.
Estoy siguiendo las instrucciones de instalación estándar, he configurado Mailjet, etc., pero el arranque (bootstrap) falla cada vez.

Esta es la configuración, simplemente no veo qué me estoy perdiendo.
¿Alguna idea?

Gracias

¿Esto se ve bien?

Nombre de host      : forum.mydomain.com
Correo electrónico         : forumadmin@mydomain.com
Dirección SMTP  : in-v3.mailjet.com
Puerto SMTP     : 587
Usuario SMTP : b91xxxxxxd3222d809xxxxxxe3de52d
Contraseña SMTP :xxxxxx5b75ecdf24f31c2axxxxxx6903
Let's Encrypt : CONTRASEÑA (CLAVE SECRETA)

Luego

FALLO

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

Pups::ExecError: /bin/bash -c "if [[ ! \"$LETSENCRYPT_ACCOUNT_EMAIL\" =~ ([^@]+)@([^\.]+) ]]; then echo \"LETSENCRYPT_ACCOUNT_EMAIL no es una dirección de correo electrónico válida\"; exit 1; fi" falló con el retorno #<Process::Status: pid 5329 exit 1>

Ubicación del fallo: /pups/lib/pups/exec_command.rb:112:in `spawn'

exec falló con los parámetros {"cmd"=>["if [ -z \"$LETSENCRYPT_ACCOUNT_EMAIL\" ]; then echo \"La variable de entorno LETSENCRYPT_ACCOUNT_EMAIL es obligatoria y no se ha establecido.\"; exit 1; fi", "/bin/bash -c \"if [[ ! \\\"$LETSENCRYPT_ACCOUNT_EMAIL\\\" =~ ([^@]+)@([^\\.]+) ]]; then echo \\\"LETSENCRYPT_ACCOUNT_EMAIL no es una dirección de correo electrónico válida\\\"; exit 1; fi\""]}

xxxxxxxxxxxxxxxxxxxxxxe6e31b17b7exxxxxxxxxxxxxxxxxx856eb0

** EL ARRANQUE FALLÓ ** por favor, desplázate hacia arriba y busca mensajes de error anteriores; puede haber más de uno.

./discourse-doctor puede ayudar a diagnosticar el problema.

¿Por qué el correo electrónico en el campo de Let’s Encrypt sería una contraseña o clave secreta? Se supone que debe ser una dirección de correo electrónico.

El script no me deja ingresar nada para LETS ENCRYPT.
En cuanto introduzco el nombre de usuario y la contraseña de SMTP, se ejecuta automáticamente.

Sí, parece ser la variable de Let’s Encrypt, pero como mencioné anteriormente, el script de instalación no permite la oportunidad de proporcionar una dirección de correo electrónico. Tan pronto como se recibe la contraseña de SMTP, parece saltarse esa etapa y muestra un error.

Puedes verlo aquí…

¿Nombre de host para tu Discourse? [forum.uaptn.com]: 
¿Dirección de correo electrónico para la(s) cuenta(s) de administrador? [forumadmin@uaptn.com]: xxxxxxxxe@protonmail.com
¿Dirección del servidor SMTP? [in-v3.mailjet.com]: 
¿Puerto SMTP? [587]: 
¿Nombre de usuario SMTP? [b91xxxxxxxxxxxxxxxxxxde52d]: 
¿Contraseña SMTP? [1d2xxxxxxxxxxxxxxxxxxxxxxxxxxxx903]: 
./discourse-setup: línea 438: [: demasiados argumentos

Verificando tu nombre de dominio . . .
Conexión a forum.uaptn.com exitosa.

¿Esto se ve correcto?

Nombre de host      : forum.uaptn.com
Correo electrónico         : xxxxxxxxx@protonmail.com
Dirección SMTP  : in-v3.mailjet.com
Puerto SMTP     : 587
Usuario SMTP : b91xxxxxxxxxxxxxxxxxxxxxe52d
Contraseña SMTP : 1d2cxxxxxxxxxxxxxxxxxxx5086903
Let's Encrypt : CONTRASEÑA (CLAVE SECRETA)

Presiona ENTER para continuar, 'n' para intentarlo de nuevo, Ctrl+C para salir:

Introduce aquí una dirección de correo electrónico en lugar de una contraseña secreta.

Esa dirección de correo electrónico se utiliza para crear una cuenta en Let’s Encrypt y obtener un certificado SSL para Discourse.

No entiendo por qué no podrías ingresar la dirección de correo electrónico de Let’s Encrypt. ¿Estás añadiendo un retorno de carro extra?

Esa, señor, es una idea; déjame intentarlo.

No es eso. El script simplemente pasa de largo por la parte de Let’s Encrypt; apenas introduzco la contraseña, aparece ese error en la línea 438: [: demasiados argumentos y continúa.

¿Tu contraseña tiene caracteres especiales? Intenta ingresar una contraseña falsa sin caracteres especiales, como 123456, y observa si te solicita el correo electrónico de Let’s Encrypt.

No, no es así; es la contraseña generada directamente por Mailjet, pero probaré ingresando una falsa.

No funcionó. Lo intenté y sigue dando el mismo error.

Tal vez el script no lo pregunte porque ya está en tu app.yml y luego da el error debido a esto (porque el correo ya está mal en el archivo app.yml).

Intenta cambiar el correo en el archivo manualmente y ver si funciona (nano containers/app.yml).

La línea que dio el error verifica si el correo de Let’s Encrypt no está vacío para mostrártelo y preguntarte si quieres cambiarlo, pero como la condición no envuelve la variable entre comillas dobles, el valor que está en tu app.yml se expande y produce el error de Too many arguments.

Creo que si el equipo de Discourse hubiera envuelto la variable entre comillas dobles, habría ayudado a evitar casos como este, pero de todos modos deberían ser raros (probablemente la primera vez que ejecutaste la configuración, el valor se estableció incorrectamente).

eso funcionó :+1: - en el sentido de que me ofrece ese paso después de cambiar app.yml manualmente

esperemos que el arranque funcione

muchas gracias.