После обновления установка сломалась, как это исправить?

Думаю, я был на версии 3.2, то есть на две версии раньше текущей. Я использовал веб-интерфейс, но через 50 минут сайт всё ещё был недоступен.

Я зашёл в консоль и попытался выполнить ./launcher rebuild app, но система постоянно сообщает, что у меня недостаточно памяти. У меня машина с 25 ГБ памяти, и до обновления, согласно панели управления Discourse, было доступно 8 ГБ. Я попытался освободить место, система попыталась установить обновление, но снова возникла эта ошибка.

При входе в консоль я заметил, что моя Ubuntu устарела. Мне удалось обновить 51 устаревший пакет, но не основную систему. Она всё ещё находится на версии 22.10. Не знаю, является ли это причиной проблемы. Я всё ещё не могу обновить Ubuntu, так как система пишет: «Ваш выпуск Ubuntu больше не поддерживается».

Не знаю, связано ли это с поломкой Discourse.

После этого я попытался запустить новый сервер и восстановить мою резервную копию. Однако при загрузке файла через веб-интерфейс Discourse у меня нет возможности выбрать файл резервной копии. Он заблокирован (серый).

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

P.S. Мои резервные копии хранятся не локально, а в Backblaze.

Что нужно сделать, это скопировать настройки Backblaze в файл YML, чтобы вы могли восстановить данные из командной строки. См. Восстановление резервной копии из командной строки и Настройка провайдера объектного хранилища, совместимого с S3, для загрузки файлов (но вам нужны только настройки резервного копирования).

Убедитесь, что новая виртуальная машина использует LTS-версию (24.04).

Вы сможете снова запустить сайт с помощью команды:

./launcher start app

Если вы застряли и хотите оплатить помощь, посетите Contact Us - Literate Computing.

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

Я решил вернуться к старому серверу. Команда ./launcher start app не работала из-за проблемы с памятью, как показано на прикреплённом изображении. Я решил увеличить объём памяти на сервере, и вуаля — он снова запущен и работает с последним обновлением.

Огромное спасибо за ссылку на форму обратной связи. Я сохраню эту информацию!

Рад, что вы снова в строю! Я почти уверен, что вы не сможете обновить Discourse, пока не обновите вашу ОС.

Что интересно, он обновил Discourse до последней версии.

Я зашел в командную строку и попытался обновить операционную систему, но получил эту ошибку:

Обновление с ‘kinetic’ на ‘noble’ не поддерживается этим инструментом.

Как говорится, когда идёт дождь, то льёт как из ведра!

Я помню, как при первоначальной сборке сервера нашёл команду для автоматического обновления ОС и пакетов. Мне это только кажется? Ведь похоже, что этого никогда не происходило, и операционная система устарела…

Отлично!

Он автоматически обновляется до последних пакетов в рамках этого релиза, но не до нового релиза.

Понял!

Если не удастся обновить ОС, я свяжусь с вами.

Ещё один вопрос…

Когда включено резервное копирование S3, означает ли это, что вы не можете восстановить резервную копию через веб-браузер и должны делать это через командную строку?

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

Нет — вы можете восстановить её через браузер. Если ваши учётные данные S3 указаны верно, вы должны увидеть резервные копии S3 в разделе /admin/backups, но для восстановления должна быть включена опция allow restore.
/admin/site_settings/category/all_results?filter=allow%20restore

Всё в порядке, хорошо это знать.

Похоже, что восстановить можно только из резервных копий в S3.

Странно: я не менял учётные данные, не вижу своих старых резервных копий, и создание резервных копий невозможно. Я лишь обновил Discourse через веб-интерфейс, столкнулся с проблемами, а затем увеличил объём памяти на сервере через DigitalOcean, чтобы исправить ситуацию.

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

Я не могу этого объяснить. Возможно, я запущу новый сервер, добавлю свой файл app.yml в конфигурацию и проверю, появятся ли там мои резервные копии. Тем временем я включил резервное копирование в DO, так что у меня есть какая-то защита.

Спасибо за помощь, друзья.

Я решил проблему с резервным копированием!

Поскольку ничего не менялось, кроме обновления Discourse, я закомментировал следующее в файле app.yml, сохранил его, а затем выполнил ./launcher rebuild app.

ПРИМЕР:

  # DISCOURSE_S3_REGION: "region"
  # DISCOURSE_S3_INSTALL_CORS_RULE: false
  DISCOURSE_S3_ENDPOINT: <url>
  DISCOURSE_S3_ACCESS_KEY_ID: <id>
  DISCOURSE_S3_SECRET_ACCESS_KEY: <key>
  DISCOURSE_S3_BACKUP_BUCKET: <bucket>
  # DISCOURSE_BACKUP_LOCATION: s3

Вуаля, теперь резервное копирование работает.

Так что я провел некоторые действия по устранению неполадок, и когда я закомментировал только DISCOURSE_S3_REGION:, это заставило резервные копии работать. Очень странно, так как эта конфигурация работала до обновления, но ладно, я принимаю это решение!

Надеюсь, это поможет кому-то еще.