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

Каждый раз, когда я захожу обновить форум моего друга @techwithanirudh, я могу обновить всё, кроме Discourse или функций, связанных с Discourse. Не знаю, почему так происходит. Это приводит к тому, что форум становится очень устаревшим, и это раздражает.

Можно ли получить объяснение?

Это то, что он настраивает в своём SSH или репозитории кода? Другие администраторы не могут обновлять элементы Discourse, а также не могут имитировать других администраторов. Это тоже кажется мне неправильным.

Docker_manager — это инструмент, который отвечает за обновление Discourse. Его необходимо обновить в первую очередь, чтобы он мог корректно выполнить обновление до более новой версии Discourse.

Нажмите Обновить на Docker_manager.

После завершения этого процесса у вас появится возможность нажать Обновить на Discourse.

Я не уверен, что именно вы имеете в виду, но мой предпочтительный способ обновления — использовать launcher в /var/discourse.

Если вы находитесь на ветке tests-passed, то часто через короткое время появляются новые коммиты, так как разработчики предпочитают быстро итерировать. Это не обязательно означает, что версия устарела.

Adubs, у меня нет доступа к коду форума, а Киган, я попробую связаться с менеджером и дам вам знать.

Хорошо, @keegan, похоже, это сработало, теперь всё работает. Но почему я не могу обновить всё сразу?

Вы можете, если используете лаунчер. Я бы запросил доступ к SSH.

Поскольку именно docker manager обновляет discourse

Если память мне не изменяет, это связано с тем, что новая версия Discourse требует предварительного обновления Docker Manager. Представьте это как зависимость.

Это звучит более логично, Нейт, Эдубс. Можешь уточнить?

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

Хотя я согласен с @ice.d, что обновлять дважды, когда требуется обновление docker_manager, неудобно. Сначала нужно обновить docker_manager, дождаться завершения, а затем обновить Discourse (или выбрать «Обновить всё»), чтобы обновить Discourse и все плагины.

Обновление docker_manager занимает так много времени, что я часто запускаю его и ухожу заниматься другими делами, а потом вспоминаю только позже, что нужно вернуться и обновить Discourse.

Было бы здорово, если бы в интерфейсе в таком случае всё ещё оставалась кнопка «Обновить всё»: сначала обновлялся бы docker_manager, а затем автоматически переходилось к обновлению Discourse. Если обновление docker_manager завершится неудачей, процесс можно будет прервать.

Раньше я делал так, но потом понял, что при обновлении через веб-сайт время простоя значительно меньше.

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

И в любом случае перед попыткой обновления следует сделать полную резервную копию и скачать её. Если что-то пойдёт совсем не так, она вам понадобится.

Хм… тогда, может быть, двухконтейнерная конфигурация поможет здесь?

Да, но что бы вы сделали с sidekiq?

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

Docker Manager не поддерживает конфигурацию из двух контейнеров (для сведения)

Спасибо всем за помощь! Я просто хочу убедиться, что Docker обновлен, чтобы можно было продолжить остальные действия?

Верно. Сначала запустите Docker_manager. На моём сервере это занимает около 5 минут. После этого вы сможете обновить Discourse, обновить плагины или выбрать «Обновить всё».