Не удается пересобрать приложение после недавнего обновления 05/07/2025

Теперь при попытке обновить Discourse до последней версии возникает ошибка. Путь к файлу:

/etc/nginx/conf.d/outlets/server/20-https.conf

не существует на моей виртуальной машине с Ubuntu 24.04. Или, возможно, ошибка ниже означает, что его нет в установке nginx внутри образа Docker. Похоже, проблема в pups-1.2.1.

Любая помощь будет оценена. Я не использую nginx на своей основной системе, так как применяю:

  - "templates/web.socketed.template.yml"

как рекомендовано в:
https://meta.discourse.org/t/installing-discourse-behind-reverse-proxy-using-recommended-supported-installation/300191

FAILED                                                                                                            
--------------------                                                                                              
Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/nginx/conf.d/outlets/server/20-https.conf            
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/replace_command.rb:11:in `read'      
replace failed with the params {"filename"=>"/etc/nginx/conf.d/outlets/server/20-https.conf", "from"=>"/listen 443
 ssl;(\\nlisten \\[::\\]:443 ssl;)?/", "to"=>"listen unix:/shared/nginx.https.sock ssl;\nset_real_ip_from unix:;"}
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.                                                                 
e3176c7debb5ed1c106765e76f5896b83dac3bb21dd3478b2ac043cbcb8032e1                                                  

Я считаю, что есть ошибка, так как:

  - "templates/web.socketed.template.yml"

требует:

10-http.conf
20-https.conf

но в инструкции сказано закомментировать провайдеры:

  #- "templates/web.ssl.template.yml"
  #- "templates/web.letsencrypt.ssl.template.yml"

и если я раскомментирую первый файл обратно, то web.ssl.template.yml удалит 10-http.conf

Чтобы усугубить ситуацию, когда я пытаюсь откатить последний коммит:

7b042d6157

выполняя

git reset --hard HEAD^1

команда

./launcher rebuild app

выполняет git pull.

Я думаю, что если вы выполните

./launcher bootstrap app

то это не приведет к загрузке. После завершения вы можете уничтожить и запустить приложение. Возможно, вам потребуется остановить приложение, если оно сейчас запущено.

Мне удалось заставить что-то работать, выполнив:

git reset --hard HEAD^1
git checkout -b mybranch
./launcher rebuild app

Таким образом, похоже, что коммит 7b042d6157 вызывает проблемы в моей конфигурации.

Я получаю то же сообщение об ошибке.
Также использую Discourse за обратным прокси.

Восстановил работу с помощью:

git reset --hard HEAD^1
./launcher bootstrap app
./launcher start app
2 лайка

Пришел сюда с той же проблемой, попытался выполнить повторное развертывание для обновления и установки плагина. Discourse также работает за обратным прокси.

Так что, это баг в Discourse?

1 лайк

У меня та же ошибка.

2 лайка

Похоже, это связано с этим коммитом от @nbianca. Мы помечаем это как приоритетное и скоро начнём работу над исправлением.

4 лайка

Мы пока откатили изменения, пока работаем над исправлением.

8 лайков

Спасибо за отчет. Я работаю над исправлением, и оно будет скоро включено в основную ветку:

4 лайка