Сайт не работает после обновления

Я выполнил обновление. На странице администратора /update отображается статус «Актуально», но при попытке опубликовать сообщение возникает ошибка «Внутренняя ошибка сервера».

Можете ли вы опубликовать сообщение с включённым безопасным режимом? Видите ли вы какие-либо ошибки в консоли браузера?

У вас есть какие-либо собственные плагины?

Ваш URL CDN заканчивается на косую черту, её следует удалить.
Не уверен, что это вызывает вашу проблему, но точно не помогает.

Та же проблема в безопасном режиме. Консоль:

Режим консоли браузера

Только родительский процесс (быстро)Многопроцессный (медленнее)

Эксперимент add-an-image-to-pdf-with-alt-text-rollout имеет неизвестный featureId: addAnImageInPDF 3 RemoteSettingsExperimentLoader.sys.mjs:766:21

Необработанная ошибка: Для 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

Необработанная ошибка: Для 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

Необработанная ошибка: Для 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

Необработанная ошибка: Для 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

Необработанная ошибка: Для 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

Необработанная ошибка: Для 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

Необработанная ошибка: Для 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

Необработанная ошибка: Для 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 и поделитесь любыми найденными ошибками.

Исключение в задаче: Net::SMTPAuthenticationError
Пн 21:50
Тест сердечного ритма Sidekiq для 1371476 не удался, перезапуск
13:11
Не удалось подготовить красивый текст: прервано /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
13:11
3
Не удалось подготовить красивый текст: прервано /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
13:12
5
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) не найден: Нет такого файла или каталога @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
13:40
5
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) не найден: Нет такого файла или каталога @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
13:40
3
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) не найден: Нет такого файла или каталога @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
15:18
3
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) не найден: Нет такого файла или каталога @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
15:18
Воркер Unicorn получил сигнал USR2, указывающий на то, что он вот-вот истечёт по времени, выгрузка трассировки для основного потока config/unicorn.conf.rb:203:in backtrace' config/unicorn.conf.rb:203:in block (2 levels) in re
16:22
4
Не удалось подготовить красивый текст: Нет такого файла или каталога @ 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 16:26 2 Errno::ENOENT (Нет такого файла или каталога @ 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’
16:38
2
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) не найден: Нет такого файла или каталога @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
16:41
2
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) не найден: Нет такого файла или каталога @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
16:41
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) не найден: Нет такого файла или каталога @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
16:41
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) не найден: Нет такого файла или каталога @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
16:41
4
Errno::ENOENT (Нет такого файла или каталога @ 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' 17:08 94 Исключение в задаче: имя хоста ".rest.akismet.com" не соответствует серверному сертификату (OpenSSL::SSL::SSLError) 17:42 18 Errno::ENOENT (Нет такого файла или каталога @ 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’
18:27
2
Errno::ENOENT (Нет такого файла или каталога @ 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' 18:27 9 Исключение в задаче: неизвестный атрибут 'writing_device' для PostStat. 18:29 7 Errno::ENOENT (Нет такого файла или каталога @ 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’
18:52
6
ActionView::Template::Error (Нет такого файла или каталога @ 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
18:57
8
Errno::ENOENT (Нет такого файла или каталога @ 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' 19:02 48 Errno::ENOENT (Нет такого файла или каталога @ 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’
19:10
108
ActionView::Template::Error (Нет такого файла или каталога @ 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
19:11

Вы пересобирали это из консоли?

./launcher rebuild app
root@www:/var/discourse# ./launcher rebuild app
ПРЕДУПРЕЖДЕНИЕ: Версия Docker 24.0.2 устарела, рекомендуется обновиться до версии 24.0.7 или новее.
Обнаружена архитектура x86_64.
ОШИБКА: Файл containers/app.yml не существует или не доступен для чтения.

Доступные конфигурации: data, mail-receiver, web_only
root@www:/var/discourse# 

У вас настроена двухконтейнерная конфигурация с дополнительным контейнером для приёма почты.

Чтобы пересобрать часть веб-приложения, выполните следующие команды от имени root:

./launcher rebuild web_only

Если ошибок не возникло, выполните то же самое для контейнера с данными:

./launcher rebuild data

и посмотрите, к чему это приведёт.

Спасибо, это помогло.

Было бы полезно, если бы кнопка обновления в один клик была отключена для несовместимых конфигураций.

Она находится в вашем app.yml. Вам стоит проверить её там.

Так что, когда я получу уведомление об обновлении, мне стоит выполнить launcher rebuild web_only?

Можно. Это несколько нивелирует преимущества установки в два контейнера (я предполагаю, что речь идет о двух контейнерах, так как вы упоминаете web_only).

Вот мои инструкции: Managing a two-container instance - Howto - Literate Computing Dashboard

Также вам нужно уделять внимание таким вещам, чтобы не пропустить обновления, например обновление PostgreSQL 15, которое требует обновления и контейнера с данными.

Вы всё настроили! В чём преимущества двух контейнеров? Казалось бы, это больше работы, и я не понимаю, в чём выгода.

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

Это также упрощает отсрочку обновления базы данных, сохраняя возможность обновления Discourse.