Наш внутренний Discourse счастливо работает на одной и той же старой версии уже довольно давно, но мы наконец отказываемся от IE9, поэтому обновление давно overdue.
Могу сообщить, что это руководство по-прежнему актуально для последних версий Discourse. Даже с RHEL8 вместо 7 ![]()
В ходе экспериментов я нашёл способ заставить плагины discourse-prometheus и discourse-calendar работать в офлайн-режиме, несмотря на дополнительные зависимости. Секрет заключается в том, чтобы извлечь ruby-гемы из директории плагинов на сервере сборки, а также гемы из /var/www/discourse/vendor/bundle/ruby.
docker run -it -v ~/local/rubygems.org:/local-rubygems local_discourse/app /bin/bash -c "cp -rv /var/www/discourse/vendor/bundle/ruby /local-rubygems"
docker run -it -v ~/local/rubygems.org/plugin-gems/discourse-calendar:/local-rubygems local_discourse/app /bin/bash -c "cp -rv /var/www/discourse/plugins/discourse-calendar/gems /local-rubygems"
docker run -it -v ~/local/rubygems.org/plugin-gems/discourse-prometheus:/local-rubygems local_discourse/app /bin/bash -c "cp -rv /var/www/discourse/plugins/discourse-prometheus/gems /local-rubygems"
Затем в файле /templates/web.template.yml:
- exec:
cd: $home
hook: bundle_exec
cmd:
# копируем локальный кэш ruby
- cp -rv /local-rubygems.org/ruby/* $home/vendor/bundle/ruby/
- cp -rv /local-rubygems.org/plugin-gems/* $home/plugins/
- su discourse -c 'bundle install --local --deployment --retry 3 --jobs 4 --verbose --without test development'
Кстати, похоже, что тема про Active Directory IIS SSO где-то потерялась, но код всё ещё доступен по адресу GitHub - laktak/discourse-sso: Single Sign On for Discourse with Active Directory · GitHub и продолжает работать с теперь переименованным DiscourseConnect SSO.