Ошибка при загрузке на DO droplet с mailjet

Привет!
Я уже чуть не сошел с ума.
Следую стандартным инструкциям по установке, настроил Mailjet и т.д., но процесс инициализации (bootstrap) завершается ошибкой каждый раз.

Вот моя конфигурация, но я не вижу, что упускаю.
Есть какие-то идеи?

Спасибо.

Выглядит ли это правильно?

Хостнейм      : forum.mydomain.com
Email         : forumadmin@mydomain.com
SMTP-адрес    : in-v3.mailjet.com
SMTP-порт     : 587
SMTP-имя пользователя : b91xxxxxxd3222d809xxxxxxe3de52d
SMTP-пароль   :xxxxxx5b75ecdf24f31c2axxxxxx6903
Let's Encrypt : ПАРОЛЬ (СЕКРЕТНЫЙ КЛЮЧ)

затем

ОШИБКА

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

Pups::ExecError: /bin/bash -c "if [[ ! \"$LETSENCRYPT_ACCOUNT_EMAIL\" =~ ([^@]+)@([^\.]+) ]]; then echo \"LETSENCRYPT_ACCOUNT_EMAIL is not a valid email address\"; exit 1; fi" завершилась с ошибкой, код возврата #<Process::Status: pid 5329 exit 1>

Место возникновения ошибки: /pups/lib/pups/exec_command.rb:112:in `spawn'

Выполнение не удалось с параметрами {"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\""]}

xxxxxxxxxxxxxxxxxxxxxxe6e31b17b7exxxxxxxxxxxxxxxxxx856eb0

** НЕ УДАЛОСЬ ЗАПУСТИТЬСЯ ** Пожалуйста, прокрутите вверх и поищите сообщения об ошибках, возникших ранее; их может быть больше одного.

./discourse-doctor может помочь диагностировать проблему.

Почему адрес электронной почты в поле Let’s Encrypt может быть паролем или секретным ключом? Там должен быть указан адрес электронной почты.

Скрипт не позволяет мне ввести что-либо для LETS ENCRYPT.
Как только я ввожу имя пользователя и пароль SMTP, он сразу же запускается.

Да, похоже, что это переменная Let’s Encrypt, но, как я уже говорил выше, скрипт установки не предоставляет возможности указать адрес электронной почты. Как только получен пароль SMTP, процесс, кажется, пропускает этот этап и выдаёт ошибку.

Вы можете увидеть это здесь…

Имя хоста для вашего Discourse? [forum.uaptn.com]: 
Адрес электронной почты для учётных записей администратора? [forumadmin@uaptn.com]: xxxxxxxxe@protonmail.com
Адрес SMTP-сервера? [in-v3.mailjet.com]: 
Порт SMTP? [587]: 
Имя пользователя SMTP? [b91xxxxxxxxxxxxxxxxxxde52d]: 
Пароль SMTP? [1d2xxxxxxxxxxxxxxxxxxxxxxxxxxxx903]: 
./discourse-setup: строка 438: [: слишком много аргументов

Проверка вашего доменного имени . . .
Соединение с forum.uaptn.com успешно установлено.

Всё ли выглядит правильно?

Имя хоста      : forum.uaptn.com
Электронная почта         : xxxxxxxxx@protonmail.com
Адрес SMTP  : in-v3.mailjet.com
Порт SMTP     : 587
Имя пользователя SMTP : b91xxxxxxxxxxxxxxxxxxxxxe52d
Пароль SMTP : 1d2cxxxxxxxxxxxxxxxxxxx5086903
Let's Encrypt : ПАРОЛЬ (СЕКРЕТНЫЙ КЛЮЧ)

Нажмите Enter, чтобы продолжить, 'n', чтобы попробовать снова, Ctrl+C для выхода:

Введите здесь адрес электронной почты вместо секретного пароля.

Этот адрес электронной почты используется для создания учётной записи в Let’s Encrypt, чтобы получить SSL-сертификат для Discourse.

Не понимаю, почему вы не можете ввести адрес электронной почты для Let’s Encrypt. Вы случайно не добавляете лишний перенос строки?

Вот это, сэр, мысль, позвольте мне попробовать

Дело не в этом. Скрипт просто проскакивает этап Let’s Encrypt: как только я ввожу пароль, появляется ошибка «line 438: [: too many arguments», и он продолжает работу.

Имеет ли ваш пароль специальные символы? Попробуйте ввести поддельный пароль без специальных символов, например 123456, и посмотрите, запросит ли система адрес электронной почты Let’s Encrypt.

Нет, это не так. Это сгенерированный пароль, полученный напрямую из Mailjet, но я попробую ввести поддельный.

Не получилось. Пробовал — та же ошибка.

Возможно, скрипт не запрашивает данные, потому что они уже указаны в вашем файле app.yml, а ошибка возникает из-за этой причины (поскольку в файле app.yml адрес электронной почты уже указан неверно).

Попробуйте вручную изменить адрес электронной почты в файле и проверить, поможет ли это (nano containers/app.yml).

Строка, вызвавшая ошибку, проверяет, не пуст ли адрес электронной почты для Let’s Encrypt, чтобы отобразить его и спросить, хотите ли вы его изменить. Однако, поскольку условие не заключает переменную в двойные кавычки, значение из вашего файла app.yml подставляется напрямую, что приводит к ошибке Too many arguments.

Кажется, что если бы команда Discourse заключила переменную в двойные кавычки, это помогло бы избежать подобных случаев, хотя такие ситуации, вероятно, редки (скорее всего, это произошло при первом запуске настройки, когда значение было задано неверно).

Сработало :+1: — то есть после ручного изменения app.yml мне предлагается этот шаг.

Надеюсь, загрузка пройдет успешно.

Спасибо большое.