Я попытался установить плагин, и при выполнении команды ./launcher rebuild app возникла следующая ошибка:
Я использовал ./discourse-doctor, но это не помогло.
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 failed with return #<Process::Status: pid 2296 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"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 failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
324b6cc40db917188cb3d87640ff1a1c23142c551b71bc55b0f33ccd88e88af7
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.
Первое сообщение об ошибке указывает на ваш email для Let’s Encrypt, но второе говорит о том, что отсутствует двоеточие. Не заметили ли вы ничего очевидного, что вы случайно добавили или удалили при редактировании для установки плагина?
======================================== ОШИБКА ========================================
НЕОЖИДАННАЯ ОШИБКА
Тайм-аут при установлении TCP-соединения с email-smtp.us-east-1.amazonaws.com:25 (превышено 5 секунд)
====================================== РЕШЕНИЕ =======================================
Это не распространённая ошибка. Рекомендованного решения не существует!
Пожалуйста, сообщите точное сообщение об ошибке выше по адресу https://meta.discourse.org/
(А также решение, если вы его найдёте!)
=======================================================================================
Замена: SMTP_PASSWORD
Замена: LETSENCRYPT_ACCOUNT_EMAIL
Замена: DEVELOPER_EMAILS
Замена: DISCOURSE_DB_PASSWORD
Замена: Отправка писем на
==================== ГОТОВО! ====================
Хотите опубликовать общедоступную версию этого файла? (Y/n)
Самый простой способ — переименовать ваш app.yml в broken.yml, а затем запустить ./discourse-setup. Это создаст новый файл app.yml, но не удаляйте ваши существующие данные.
Проверка вашего доменного имени . . .
ПРЕДУПРЕЖДЕНИЕ: Порт 443 компьютера, по-видимому, недоступен по имени хоста: www.dexforum.com.br].
ПРЕДУПРЕЖДЕНИЕ: Подключение к http://www.dexforum.com.br] (порт 80) также не удаётся.
Это указывает на то, что www.dexforum.com.br] разрешается в IP-адрес, который не достигает этой
машины, где вы устанавливаете Discourse.
Первое, что нужно сделать, — убедиться, что www.dexforum.com.br] разрешается в IP-адрес этого сервера.
Обычно это делается в том же месте, где вы приобрели домен.
Если вы уверены, что IP-адрес разрешается корректно, проблема может быть в брандмауэре.
Поиск в интернете по запросу «открыть порты ВАШЕ ОБЛАЧНОЕ СЕРВИС» может помочь.
Этот инструмент предназначен только для самых стандартных установок. Если вы не сможете решить
проблему выше, вам потребуется самостоятельно отредактировать containers/app.yml, а затем ввести
./launcher rebuild app
Что ж, мне удалось настроить Discourse, но при пересборке появляется следующее:
(<unknown>): mapping values are not allowed in this context at line 98 column 12 -e LANG=en_US.UTF-8
YAML syntax error. Please check your containers/*.yml config files.
Да, именно здесь находятся хуки after_code для плагинов.
@danielabc, если вы хотите, чтобы мы вам помогли, вам нужно давать обратную связь по шагам, которые мы предоставляем, в идеале — строго следуя инструкциям. Установка плагинов произойдёт после того, как мы поможем вам восстановить работающий экземпляр.
Мне удалось решить проблему, но меня удивило то, что все файлы .yml, созданные Discourse, имели неверное форматирование. Это возможно? Я ничего не делал, даже не редактировал их, но .yml всегда создавался с неправильным форматированием.
Я использовал https://www.yamllint.com/, который нашёл в Google; он помог мне исправить форматирование, и в итоге я смог выполнить пересборку.
Однако я никогда не предполагал, что система может создавать файл .yml с ошибками форматирования. Это меня сбило с толку.
Я только что сгенерировал команду для создания нового .yml, но ничего не изменил в новом .yml. Я просто выполнил пересборку, которая завершилась ошибкой из-за некорректного форматирования.