내부 Discourse는 꽤 오랫동안 같은 구버전을 안정적으로 사용해 왔지만, 마침내 IE9를 제거하게 되어 업그레이드가 시급한 상태입니다.
Discourse 최신 버전에서도 이 가이드는 여전히 유효합니다. RHEL 7 대신 RHEL 8을 사용해도 마찬가지입니다. ![]()
실험을 통해 discourse-prometheus와 discourse-calendar 플러그인이 추가 의존성이 있더라도 오프라인에서도 작동하도록 하는 방법을 알아냈습니다. 핵심은 빌드 서버의 플러그인 디렉터리와 /var/www/discourse/vendor/bundle/ruby에 있는 루비 제머(ruby gems)를 모두 가져오는 것이었습니다.
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:
# 로컬 루비 캐시 복사
- 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 관련 토론 주제가 언젠가 사라진 것 같지만, 코드는 여전히 https://github.com/laktak/discourse-sso에서 사용할 수 있으며, 현재 이름이 변경된 DiscourseConnect SSO와도 정상적으로 작동합니다.