Я выполнил обновление. На странице администратора /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
Необработанная ошибка: Для 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
Необработанная ошибка: Для 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
Необработанная ошибка: Для 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
На сколько мне известно, нет кастомных плагинов, так что я почти уверен, что нет.
Я не могу найти настройку для этого.
Посмотрите, пожалуйста, свои логи по адресу 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.