최근 업그레이드(2025년 5월 7일) 후 앱을 다시 빌드할 수 없음

최신 버전으로 discourse를 업데이트하려고 할 때 실패가 발생하고 있습니다. 파일 경로:

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

이 Ubuntu 24.04 가상 인스턴스에 존재하지 않습니다. 또는 아래 오류는 docker 이미지 내의 nginx 설치에 해당 파일이 누락되어 있음을 의미하는 것일 수도 있습니다. 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

pull이 수행되지 않을 것 같습니다. 완료되면 앱을 destroy하고 다시 시작하면 됩니다. 현재 앱이 실행 중이라면 먼저 중지해야 할 수도 있습니다.

다음과 같이 진행하여 문제를 해결할 수 있었습니다:

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개의 좋아요