Installer Discourse sur un serveur CentOS 7 isolé

Notre Discourse interne tourne heureusement depuis longtemps sur la même ancienne version, mais nous nous débarrassons enfin d’IE9, ce qui rend une mise à jour plus que nécessaire.
Je peux confirmer que ce guide fonctionne toujours avec les dernières versions de Discourse, même avec RHEL 8 au lieu de 7 :slight_smile:

Lors de mes expérimentations, j’ai trouvé un moyen de faire fonctionner les plugins discourse-prometheus et discourse-calendar hors ligne également, malgré les dépendances supplémentaires. L’astuce consistait à extraire les gems Ruby du répertoire des plugins du serveur de build, ainsi que celles situées dans /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"

Ensuite, dans /templates/web.template.yml :

  - exec:
      cd: $home
      hook: bundle_exec
      cmd:
        # copier le cache Ruby local
        - 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'

D’ailleurs, il semble que le sujet concernant l’authentification unique (SSO) Active Directory IIS ait été perdu à un moment donné, mais le code est toujours disponible sur GitHub - laktak/discourse-sso: Single Sign On for Discourse with Active Directory · GitHub et fonctionne toujours avec DiscourseConnect SSO, désormais renommé.