업그레이드 후 사이트가 작동하지 않음

업그레이드를 수행했습니다. 관리자/업데이트 페이지에서 모든 항목이 "최신 상태"로 표시되지만, 게시물을 등록하려고 하면 "내부 서버 오류"가 발생합니다.

안전 모드 활성화 상태에서 게시글을 작성할 수 있나요?
브라우저 콘솔에서 오류가 표시되나요?

커스텀 플러그인이 있나요?

CDN_URL이 슬래시로 끝나고 있습니다. 이를 제거해야 합니다.
이것이 문제를 일으키고 있는지 확실하지는 않지만, 분명히 도움이 되지 않는 것은 확실합니다.

안전 모드에서도 동일한 문제가 발생합니다. 콘솔:

브라우저 콘솔 모드

부모 프로세스만(빠름)멀티프로세스(느림)

실험 add-an-image-to-pdf-with-alt-text-rollout에 featureId가 알려지지 않았습니다: addAnImageInPDF 3 RemoteSettingsExperimentLoader.sys.mjs:766:21

Uncaught Error: aPlacesNode에 DOM 노드가 설정되지 않았습니다. node.type: 0. node.parent: [xpconnect wrapped nsINavHistoryResultNode]

_getDOMNodeForPlacesNode chrome://browser/content/places/browserPlacesViews.js:120

nodeTitleChanged chrome://browser/content/places/browserPlacesViews.js:503

18 browserPlacesViews.js:120:13

Uncaught Error: aPlacesNode에 DOM 노드가 설정되지 않았습니다. node.type: 0. node.parent: [xpconnect wrapped nsINavHistoryResultNode]

_getDOMNodeForPlacesNode chrome://browser/content/places/browserPlacesViews.js:120

nodeMoved chrome://browser/content/places/browserPlacesViews.js:587

browserPlacesViews.js:120:13

Uncaught Error: aPlacesNode에 DOM 노드가 설정되지 않았습니다. node.type: 0. node.parent: [xpconnect wrapped nsINavHistoryResultNode]

_getDOMNodeForPlacesNode chrome://browser/content/places/browserPlacesViews.js:120

nodeTitleChanged chrome://browser/content/places/browserPlacesViews.js:503

browserPlacesViews.js:120:13

Uncaught Error: aPlacesNode에 DOM 노드가 설정되지 않았습니다. node.type: 0. node.parent: [xpconnect wrapped nsINavHistoryResultNode]

_getDOMNodeForPlacesNode chrome://browser/content/places/browserPlacesViews.js:120

nodeMoved chrome://browser/content/places/browserPlacesViews.js:587

browserPlacesViews.js:120:13

Uncaught Error: aPlacesNode에 DOM 노드가 설정되지 않았습니다. node.type: 0. node.parent: [xpconnect wrapped nsINavHistoryResultNode]

_getDOMNodeForPlacesNode chrome://browser/content/places/browserPlacesViews.js:120

nodeTitleChanged chrome://browser/content/places/browserPlacesViews.js:503

2 browserPlacesViews.js:120:13

Uncaught Error: aPlacesNode에 DOM 노드가 설정되지 않았습니다. node.type: 0. node.parent: [xpconnect wrapped nsINavHistoryResultNode]

_getDOMNodeForPlacesNode chrome://browser/content/places/browserPlacesViews.js:120

nodeMoved chrome://browser/content/places/browserPlacesViews.js:587

2 browserPlacesViews.js:120:13

_getDOMNodeForPlacesNode chrome://browser/content/places/browserPlacesViews.js:120

nodeMoved chrome://browser/content/places/browserPlacesViews.js:587

Uncaught Error: aPlacesNode에 DOM 노드가 설정되지 않았습니다. node.type: 0. node.parent: [xpconnect wrapped nsINavHistoryResultNode]

_getDOMNodeForPlacesNode chrome://browser/content/places/browserPlacesViews.js:120

nodeTitleChanged chrome://browser/content/places/browserPlacesViews.js:503

12 browserPlacesViews.js:120:13

Uncaught Error: aPlacesNode에 DOM 노드가 설정되지 않았습니다. node.type: 0. node.parent: [xpconnect wrapped nsINavHistoryResultNode]

_getDOMNodeForPlacesNode chrome://browser/content/places/browserPlacesViews.js:120

nodeMoved chrome://browser/content/places/browserPlacesViews.js:587

3 browserPlacesViews.js:120:13

제가 아는 범용 플러그인은 없어서 아마도 아니라고 생각합니다.

그 설정을 찾을 수 없습니다.

https://www.foodtalkcentral.com/logs에서 로그를 확인해 보시고, 확인되는 관련 오류가 있으면 공유해 주시겠어요?

Job 예외: Net::SMTPAuthenticationError
월요일 오후 9:50
Sidekiq 하트비트 테스트 실패(1371476), 재시작 중
오후 1:11
Pretty text 워밍업 실패: terminated /var/www/discourse/lib/discourse_js_processor.rb:98:in eval' /var/www/discourse/lib/discourse_js_processor.rb:98:in create_new_context’ /var/www/discourse/l
오후 1:11
3
Pretty text 워밍업 실패: terminated /var/www/discourse/lib/discourse_js_processor.rb:98:in eval' /var/www/discourse/lib/discourse_js_processor.rb:98:in create_new_context’ /var/www/discourse/l
오후 1:12
5
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb)를 찾을 수 없음: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
오후 1:40
5
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb)를 찾을 수 없음: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
오후 1:40
3
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb)를 찾을 수 없음: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
오후 3:18
3
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb)를 찾을 수 없음: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
오후 3:18
Unicorn 워커가 USR2 신호를 수신하여 타임아웃 임박을 나타냄, 메인 스레드 백트레이프 덤프 config/unicorn.conf.rb:203:in backtrace' config/unicorn.conf.rb:203:in block (2 levels) in re
오후 4:22
4
Pretty text 워밍업 실패: No such file or directory @ rb_sysopen - /var/www/discourse/lib/emoji/db.json /var/www/discourse/app/models/emoji.rb:154:in initialize' /var/www/discourse/app/models/em 오후 4:26 2 Errno::ENOENT (No such file or directory @ rb_sysopen - /var/www/discourse/lib/emoji/db.json) app/models/emoji.rb:154:in initialize’ app/models/emoji.rb:154:in open' app/models/emoji.rb:154:in db’
오후 4:38
2
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb)를 찾을 수 없음: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
오후 4:41
2
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb)를 찾을 수 없음: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
오후 4:41
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb)를 찾을 수 없음: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
오후 4:41
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb)를 찾을 수 없음: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
오후 4:41
4
Errno::ENOENT (No such file or directory @ rb_sysopen - /var/www/discourse/lib/emoji/db.json) app/models/emoji.rb:154:in initialize' app/models/emoji.rb:154:in open’ app/models/emoji.rb:154:in db' 오후 5:08 94 Job 예외: hostname ".rest.akismet.com"가 서버 인증서와 일치하지 않음 (OpenSSL::SSL::SSLError) 오후 5:42 18 Errno::ENOENT (No such file or directory @ rb_sysopen - /var/www/discourse/lib/emoji/db.json) app/models/emoji.rb:154:in initialize’ app/models/emoji.rb:154:in open' app/models/emoji.rb:154:in db’
오후 6:27
2
Errno::ENOENT (No such file or directory @ rb_sysopen - /var/www/discourse/lib/emoji/db.json) app/models/emoji.rb:154:in initialize' app/models/emoji.rb:154:in open’ app/models/emoji.rb:154:in db' 오후 6:27 9 Job 예외: PostStat에 대해 'writing_device' 속성이 알 수 없습니다. 오후 6:29 7 Errno::ENOENT (No such file or directory @ rb_sysopen - /var/www/discourse/lib/emoji/db.json) app/models/emoji.rb:154:in initialize’ app/models/emoji.rb:154:in open' app/models/emoji.rb:154:in db’
오후 6:52
6
ActionView::Template::Error (No such file or directory @ rb_sysopen - /var/www/discourse/lib/emoji/db.json) app/models/emoji.rb:154:in initialize' app/models/emoji.rb:154:in open’ app/models/emoji.r
오후 6:57
8
Errno::ENOENT (No such file or directory @ rb_sysopen - /var/www/discourse/lib/emoji/db.json) app/models/emoji.rb:154:in initialize' app/models/emoji.rb:154:in open’ app/models/emoji.rb:154:in db' 오후 7:02 48 Errno::ENOENT (No such file or directory @ rb_sysopen - /var/www/discourse/lib/emoji/db.json) app/models/emoji.rb:154:in initialize’ app/models/emoji.rb:154:in open' app/models/emoji.rb:154:in db’
오후 7:10
108
ActionView::Template::Error (No such file or directory @ rb_sysopen - /var/www/discourse/lib/emoji/db.json) app/models/emoji.rb:154:in initialize' app/models/emoji.rb:154:in open’ app/models/emoji.r
오후 7:11

콘솔에서 다시 빌드해 보셨나요?

./launcher rebuild app
root@www:/var/discourse# ./launcher rebuild app
WARNING: Docker 버전 24.0.2는 비추천됩니다. 24.0.7 또는 최신 버전으로 업그레이드하는 것이 좋습니다.
x86_64 아키텍처가 감지되었습니다.
ERROR: containers/app.yml 파일이 존재하지 않거나 읽을 수 없습니다.

사용 가능한 구성 파일 (data, mail-receiver, web_only)
root@www:/var/discourse# 

두 개의 컨테이너로 구성된 환경과 추가적인 메일 수신 컨테이너가 있습니다.

웹 앱 부분을 다시 빌드하려면 루트 권한으로 다음을 실행하세요.

./launcher rebuild web_only

오류가 발생하지 않으면 데이터 컨테이너에 대해 동일한 작업을 수행하세요.

./launcher rebuild data

그리고 결과를 확인해 보세요.

고맙습니다, 그 방법으로 해결되었습니다.

호환되지 않는 구성에서는 원클릭 업그레이드 버튼이 비활성화되었으면 좋겠습니다.

app.yml 파일에 있습니다. 거기서 확인해 보시는 것이 좋겠습니다.

그래서 업그레이드 알림을 받으면 launcher rebuild web_only를 실행해야 하나요?

가능합니다. 2컨테이너 설치 방식의 장점을 어느 정도 없애는 셈이죠 (web_only를 언급하셨으니 두 컨테이너를 사용하시는 것으로 가정합니다).

제 안내 문서는 여기 있습니다: Managing a two-container instance - Howto - Literate Computing Dashboard

또한, 데이터 컨테이너도 함께 업그레이드해야 하는 PostgreSQL 15 업데이트 같은 사항에 주의가 필요합니다.

당신이 직접 설정했네요! 컨테이너를 두 개 사용하는 것의 장점은 무엇인가요? 더 많은 작업이 필요한 것 같고, 어떤 이점이 있는지 모르겠어요.

그 대가는 새로운 컨테이너를 구축하는 동안 기존 컨테이너가 계속 실행되므로, 다운타임이 1분 미만으로 줄어든다는 것입니다.

또한 Discourse를 업그레이드할 수 있으면서도 데이터베이스 업그레이드를 나중에 미룰 수 있게 해줍니다.