Upgrade failed - could use some help to try and fix using SSH

Yesterday I had an admin message about upgrades. From the web UI, I did the Docker upgrade first and this seemed to go well. After it finished, the upgrade button for Discourse was enabled and I initiated that. At some point something broke and now our site is down. I was on my phone at the time and I didn’t manage to look at the log carefully to see where exactly things broke, before

I’m currently pocking around over SSH and about to try ./launcher rebuild app to hopefully get a better idea about what exactly is the problem in the upgrade. I’ve never done Discourse command-line repair and I want to make sure that I don’t blow away our data. Looking over app.yml, I see that the container is stateless - great - and that all the data is on the host, accessed as a shared volume.

I ran discourse-doctor and it looks like disk space is not the issue. Will the rebuild app command touch the local data store?

Yes, do the ./launcher rebuild app that should do it. It will not blow away your data.

If you’d rather not to it yourself, please see Automatic Rebuilds When You Need Them.

Thanks, the rebuild seems to have worked - the GitHub avatars and favicon don’t show for some reason, though.

Привет!
Я обновил систему, но страница выдала ошибку 504 Gateway Time-out.
Я выполнил следующие действия, но проблема всё ещё не решена:

cd /var/discourse
git pull; ./launcher rebuild app

Не могли бы вы подсказать, почему это всё ещё не работает?

Нет. Шансов что-то понять немного. Мое предположение — вы не дождались полной перезагрузки сервера, но проблема может быть в чём угодно. Сборка завершилась без ошибок? Не закончилось ли место на диске? Показывает ли команда docker ps, что контейнер запущен?

Команда docker ps показывает следующее:
Captura de pantalla 2020-11-04 a las 16.52.52

Если я запускаю ./launcher enter app, то получаю сообщение, что контейнер не запущен. Как его запустить?

В файле лога я вижу следующее:
Не удалось найти rake-13.0.1 ни в одном из источников
Запустите bundle install для установки отсутствующих gems.
Имеет ли это какое-либо значение?
Спасибо

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

Вы можете отслеживать логи с помощью команды

docker logs -tf sweet_chatelet

Логи обновляются?

Пересборка завершена, но выводится только следующее:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

При запуске ./launcher enter app я получаю ошибку:
Ошибка ответа от демона: контейнер … не запущен

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

Попробуйте запустить новую пересборку с помощью команды ./launcher rebuild app и следите за логами. Когда процесс остановится из-за новой ошибки, прокрутите лог вверх и найдите сообщения об ошибках — они покажут, в чём проблема. Скопируйте их сюда, и мы поможем.

@Falco если я ввожу ./launcher logs app, то получаю следующее:
Не удалось найти rake-13.0.1 ни в одном из источников
Запустите bundle install, чтобы установить отсутствующие gem-пакеты.

Это весь лог? Можешь поделиться большей частью лога?

Этот сервер находится за каким-то странным фаерволом или в корпоративной среде? Или это простой VPS в интернете?

После завершения ./launcher rebuild app вы видите следующее: ** ОШИБКА ИНИЦИАЛИЗАЦИИ ** — прокрутите вверх и поищите сообщения об ошибках, появившиеся ранее; их может быть несколько.
./discourse-doctor может помочь в диагностике проблемы.

Однако ./discourse-doctor ничего не решает.

Можете ли вы прокрутить вверх и посмотреть на сообщения об ошибках, появившиеся ранее?

Не знаю, поможет ли это вам увидеть, что происходит!

Первые три скриншота сделаны из ./launcher logs app, и они бесполезны.

Последний скриншот сделан из ./launcher rebuild app — именно там содержится нужная информация! Пожалуйста, проверьте его на наличие ошибок и, если возможно, вставьте сюда полный вывод в виде текста.

Спасибо!

/pups/lib/pups/config.rb:106:in `block (2 levels) in run_commands': Неверная команда запуска cd (SyntaxError)
	from /pups/lib/pups/config.rb:100:in `each'
	from /pups/lib/pups/config.rb:100:in `block in run_commands'
	from /pups/lib/pups/config.rb:99:in `each'
	from /pups/lib/pups/config.rb:99:in `run_commands'
	from /pups/lib/pups/config.rb:78:in `run'
	from /pups/lib/pups/cli.rb:31:in `run'
	from /pups/bin/pups:8:in `<main>'
44bf915bdff740d4441ad5239f79d5b14a6ed375300c52b85c10eefb7af677a2
** НЕ УДАЛОСЬ ЗАПУСТИТЬСЯ ** пожалуйста, прокрутите вверх и найдите более ранние сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь диагностировать проблему.

Похоже, в вашем app.yml есть недопустимые команды.

Возможно, вы пытались добавить плагин и допустили ошибку в символах?

Можете ли вы опубликовать его здесь, предварительно удалив любые пароли?

Конечно, вот он:
app.txt (3,4 КБ)

Похоже, вы пытались включить поддержку подпапок с Docker, но отступ первого блока был нарушен.

Вам нужно просто добавить два дополнительных пробела в начале строк 82, 83, 84 и 85.

После этого сохраните файл и пересоберите.