Это была стандартная установка? Возможно, вы запускали обновление на неправильном сервере? Сбой перестройки и вы перезапустили старый контейнер? У меня нет других предположений.
Вам следует обновлять вашу ОС в соответствии с рекомендациями в теме, на которую вы ссылаетесь, но это не связано с описанной вами проблемой.
Меня иногда смущает, что обновление GUI не сбрасывается и нас снова просят подключиться по SSH, даже если это только что было сделано буквально.
Это была стандартная установка, но первоначальная установка была сделана ещё в 2014 году, в самые ранние дни, когда Discourse только что вышел из публичного бета-тестирования.
user@server:/var/discourse$ docker -v
Docker version 19.03.13, build 4484c46d9d
Существует более новая версия Docker, но для Ubuntu характерно, что версия в репозитории немного отстает от последней.
Хм. После обновления есть задержка, прежде чем Discourse проверит, был ли пересоздан контейнер, хотя я никогда не сталкивался с тем, чтобы это влияло на docker-manager.
Так что вы, безусловно, хотите переключиться на ветку main?
Однако я согласен с @pfaffman: я никогда не делал этого явно, значит, должен был существовать какой-то скрипт, который это сделал. Возможно, это произойдет при следующей пересборке?
Да. Я посмотрел на другой Discourse, который я администрирую, — он уже довольно старый, тоже находится на ветке master и также показывает страницу «Обновления отключены».
Тем не менее, ещё один Discourse, который я настроил в середине 2022 года, тоже находится на ветке master, но показывает экран обновления как обычно!
Если мы получим подтверждение, что смена ветки discourse_docker на main решит проблему, я готов попробовать это сделать. Возможно, на сайте, которым пользуюсь только я.
Это примерно совпадает с тем временем, когда у меня начали возникать странные проблемы с некоторыми установками Discourse во время обновлений. (Из-за этого я в итоге просто обновлял их все через SSH каждый раз, используя Ansible).
Запускающая программа автоматически переключает ветку с master на main. Похоже, что автоматический переход был заблокирован, например, из-за ожидающих изменений в stash.
О каком количестве идет речь? В мире тысячи установок Discourse, и я не вижу десятков сообщений об этой проблеме. По крайней мере, пока нет
Если у кого-то есть сервер, на котором эта ошибка воспроизводится в данный момент и может воспроизводиться еще в течение дня, пожалуйста, ответьте здесь, чтобы мы могли провести дальнейшее расследование.
Хм. Это может быть связано с этим на нашем экземпляре @nathank.
У меня в той же директории, что и репозиторий Git для Discourse, лежат несколько рабочих файлов (не имеющих отношения к кодовой базе Discourse). Если ./launcher попытается переключить ветку, Git выдаст ошибку, и мне придётся сохранить эти изменения в стэше (или закоммитить их).
Спасибо @Falco, я проведу дополнительное расследование. Возможно, затронуты только те экземпляры Discourse, в которых Git по какой-либо причине выдаёт ошибку при попытке переключения ветки.
Обновление: Я думаю, что проблема с некоторыми неотслеживаемыми файлами *могла быть причиной. Я удалил эти файлы и убедился, что команда git checkout main выполнена успешно. Затем я запустил ./launcher rebuild app, и, похоже, всё сработало.
Насколько я могу судить, согласно тому, что написал выше @Falco, я не думаю, что *на самом деле необходимо отслеживать main в репозитории Discourse. При запуске ./launcher rebuild app сам скрипт переключится на правильную ветку.
У меня было несколько более старых инсталляций Discourse, на которых всё ещё отображалась страница «Обновления отключены», несмотря на то, что я убедился в успешном выполнении команд:
git checkout main git pull git checkout master
Для этих случаев я просто оставил эти экземпляры отслеживать ветку main, выполнил ./launcher rebuild app, и всё заработало.