Привет,
Я недавно перенес образ сервера, на котором установлен Docker Discourse.
Мне удалось запустить всё необходимое, но теперь нужно перевыпустить SSL-сертификат.
Поскольку на старом сервере SSL был настроен, я следую совету из этого руководства и выполняю команду:
./launcher rebuild app
Это заставляет Docker загрузить и обновить ряд компонентов. Текущий образ: Discourse 2.6.0.beta3 - https://github.com/discourse/discourse version 29f7e0689f61c5d85960a88f741ac3abced12d3e.
При первом запуске появилась просьба о обновлении PostgreSQL, поэтому я выполнил ./launcher rebuild app ещё раз, как и рекомендовалось.
Теперь же процесс постоянно завершается ошибкой. Я полагаю, что причина в недостаточной версии Ruby, установленной в системе:
ERROR: Error installing bundler:
bundler-2.5.3 requires Ruby version >= 3.0.0. The current ruby version is 2.7.2.137.
Ниже приведён полный вывод:
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock) failed with return #<Process::Status: pid 304 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"web", "cmd"=>["gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,\"\"); print $0 }' Gemfile.lock)", "find $home ! -user discourse -exec chown discourse {} \\+"]}
2ad07f29ace1b5396d9944fc4fc5a1ec712727280e8bb3df760367d08bfe6a25
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
Я думал, что Docker автоматически обновит версию Ruby при необходимости?
Я пробовал вручную зайти в контейнер, установить RVM и активировать Ruby версии 3+, но ошибка остаётся прежней.
На данном этапе я немного растерян. Неужели установленная версия настолько устарела, что её нельзя обновить через ./launcher?
Любые советы будут очень кстати!