Обновление Discourse продолжает не удаваться

Скорее всего, этот образ заработает. Вы можете запустить его, например, командой docker start b5f2a8a39709.

(Также стоит удалить некоторые из более старых образов — возможно, вы освободите значительный объем дискового пространства!)

Получение: Ответ об ошибке от демона: Контейнер не найден: b5f2a8a39709

Спасибо. Кроме того, мои процедуры резервного копирования копируют ВСЕ файлы с системы. Там, вероятно, есть более свежие образы, если бы я знал, где искать и куда их копировать.

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

Возможно, было бы неплохо, если бы команда Discourse выпускала предупреждение для тех, кто использует серверы, которые больше не поддерживаются. Узнавать об этом таким способом, как мы, — ОЧЕНЬ неприятно. (Трое пользователей столкнулись с той же проблемой; речь идёт о серверах, они не обновляются так быстро, как ноутбуки.)

Я хочу, чтобы было ясно: это не было преднамеренным изменением.

У нас также нет прямого доступа к такому старому оборудованию, и нам нужна помощь сообщества, чтобы точно определить, что именно идет не так.

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

@here

Добавление ключа верхнего уровня в файл app.yml с

base_image: discourse/base:2.0.20220621-0049-slim

должно обойти эту проблему, хотя и немного замедлит пересборки.

Это справедливо, но такие серверы по-прежнему предлагаются провайдерами по всему миру как серверы с низким порогом входа.
Для многих небольших проектов с открытым исходным кодом такие серверы идеальны с точки зрения цены, и часто они не могут позволить себе Intel Xeon или AMD Ryzen с 32 ГБ оперативной памяти.

Я полностью понимаю, что у вас нет оборудования для тестирования программного обеспечения, но, судя по общению в этой ветке, мы с вами это установили, а затем не последовало никакой реакции.
В данном случае достаточно было бы простого «извините, мы разберёмся с этим», но вместо этого вы оставили нас в подвешенном состоянии.

Тестирую сейчас с этим изменением.

Сборка по-прежнему завершается ошибкой.

Это было сделано с изменением в containers/app.yml, где добавлено:

base_image: discourse/base:2.0.20220621-0049-slim

в верхней части файла.

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

Мы создали задачу #789 для гема oj.

Понял. Я хотел бы восстановить один из своих последних образов Docker из резервных копий rsync. Есть ли инструкция, которая подскажет, как найти их и восстановить/запустить один из них? Спасибо!

Вы пробовали ./launcher start app?

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

Да. Это запускает веб-сервер, но вы не можете получить доступ ни к одному потоку — они просто висят в цикле.

Это не поможет.

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

Это поможет восстановить работу экземпляра Discourse, так как устанавливается предыдущая/рабочая версия gem (что подтверждается моими действиями по восстановлению экземпляра Брайана), но да — любое дальнейшее обновление (через admin/upgrade) снова вызовет ту же проблему.

Мне пока не удается собрать новую версию или запустить предыдущий экземпляр, поэтому, так как скоро выходные, я, возможно, отложу это до следующей недели в надежде, что ситуацию удастся исправить на стороне gem-а…

Какая именно процедура обсуждалась? Честно говоря, я немного запутался, пытаясь разобраться в различных идеях, высказанных в этой теме. Спасибо!

Вторая часть этого поста:

Я попробую. Спасибо.

Ещё один возможный обходной путь — добавить следующее в app.yml

hooks:
  after_code:
    - exec:
        cmd:
          - sed -i -e 's/oj (3.13.*/oj (3.13.14)/' Gemfile.lock

Я предполагаю, что после этого обновления всё ещё небезопасно, верно? Сейчас делаю сборку на старом коммите.