После обновления сайт не открывается

Недавно я получил уведомление по электронной почте о том, что мой саморазмещённый сайт Discourse (Ubuntu 18.04.6 на Contabo) требует обновления, поэтому я перешёл на страницу администратора, чтобы обновить его. Как обычно, сначала нужно было обновить docker-manager, а затем выполнить остальную часть обновления сайта. Это обновление, казалось, застыло на месте — оно достигло определённой точки и больше не двигалось. После примерно часа ожидания я решил, что требуется вмешательство через CLI, поэтому подключился к серверу по SSH и выполнил команды: cd /var/discourse; git pull; ./launcher rebuild app. Выполнение прошло без видимых ошибок, но теперь у меня есть сайт, который выглядит так:
image

(точки на самом деле анимированы). Думая, что программное обеспечение просто тратит время на запуск, я ждал — на самом деле более суток — но изменений не последовало. Перезагрузка сервера не помогла, как и повторная пересборка.

Интересно, что мои пользователи всё ещё могут публиковать сообщения по электронной почте, и сайт отправляет их, как и положено.

Буду признателен за подсказки — что я могу сделать, чтобы вернуть сайт в рабочее состояние?

Привет, Дэн :slight_smile:

Работает ли это в безопасном режиме? И было бы полезно, если бы вы могли поделиться ссылкой, чтобы мы могли проверить это, если это возможно.

Я не знал, что нужно попробовать безопасный режим, но да, похоже, проблема возникает именно так. Сайт находится по адресу:

Если в безопасном режиме всё работает, значит, конфликт может вызывать какой-то плагин, тема или компонент темы. На экране безопасного режима вы можете использовать доступные опции, чтобы сузить круг поиска.

Отключение только «неофициальных плагинов», похоже, помогает:

А в консоли браузера при попытке загрузить ваш сайт вне безопасного режима я вижу следующую ошибку:

Uncaught (in promise) Error: Could not find module `admin/models/admin-user` imported from `discourse/plugins/discourse-merge-users/discourse/components/merge-users-form`
    c loader.js:247
    c loader.js:258
    findDeps loader.js:168
    c loader.js:262
    requireModule loader.js:24
    Ember 3
    resolveOther resolver.js:241
    Ember 5
    initialize colocated-template-overrides.js:31
    eachThemePluginTemplate colocated-template-overrides.js:41
    initialize colocated-template-overrides.js:22
    initialize app.js:41
    runInstanceInitializers Ember
    each dag-map.js:192
    walk dag-map.js:121
    each dag-map.js:66
    topsort dag-map.js:72
    Ember 4
    invoke queue.ts:201
    flush queue.ts:98
    flush deferred-action-queues.ts:75
    _end index.ts:616
    _boundAutorunEnd index.ts:257
    promise callback*n/< platform.ts:28
    flush Ember
    _scheduleAutorun index.ts:803
    _ensureInstance index.ts:791
    schedule index.ts:384
    Ember 6
    <anonymous> start-app.js:4
    <anonymous> discourse-boot.js:18
    <anonymous> discourse-boot.js:19
loader.js:247

Это указывает на проблему с плагином discourse-merge-users. Попробуйте пересобрать систему без этого плагина, чтобы проверить, в нём ли дело. :+1:

При проверке темы плагина видно, что он устарел, и это известная проблема:

Действительно, похоже, что проблема была именно в этом: повторная сборка без него решает вопрос. Хотя интересно, что в обсуждении, которое вы поделили, указано, что проблема возникает, когда пользователь не является администратором, а я им являюсь. Но после отключения плагина сайт снова работает нормально. Спасибо за быструю и точную помощь.

Не переживай. Рад, что смог помочь. :slight_smile: