Quelqu’un pourrait-il me conseiller sur la construction d’une image Docker Discourse qui intègre un certain nombre de plugins plutôt que de les installer via l’interface utilisateur ?
Contexte : nous souhaitons utiliser la dernière construction de Discourse, c’est-à-dire discourse:stable, et d’après ce que j’ai lu dans le guide d’installation et d’autres documentations, nous pouvons prendre cette image de base dans notre propre Dockerfile et ensuite faire quelque chose comme :
RUN cd /var/www/discourse/plugins && \
git clone https://github.com/discourse/discourse-chat-integration.git
Ceci ajouterait le plugin discourse-chat-integration à la construction. Ensuite, à l’exécution, nous pourrons transmettre toutes les variables d’environnement requises, c’est-à-dire DISCOURSE_HOSTNAME, DISCOURSE_SMTP_DOMAIN, DISCOURSE_DB_HOST, etc., au lieu de les coder en dur dans le fichier app.yml.
Si quelqu’un pouvait me conseiller à ce sujet, ce serait grandement apprécié.
Vous ne pouvez pas installer de plugins depuis l’interface utilisateur. Vous les installez à partir du fichier YML. Si vous utilisez un conteneur non encore pris en charge que vous n’avez pas construit vous-même avec le lanceur (launcher), alors vous feriez quelque chose comme ce que vous suggérez.
Mais ce plugin est dans le cœur (core) (mais peut-être pas encore dans la version stable ?).
Ils ne sont pas vraiment codés en dur dans le fichier YML. Le fichier yml est utilisé pour construire et lancer le conteneur. Vous pouvez le construire et ensuite le lancer vous-même, comme vous le souhaitez. Vous pouvez utiliser ./launcher start-cmd nom-du-conteneur (ou quelque chose comme ça, vous pouvez regarder dans le lanceur pour voir si je me suis trompé).
Donc, ce que je pense que vous voulez faire est de continuer à utiliser le lanceur, d’ajouter le plugin, d’exécuter ./launcher bootstrap app pour le conteneur, puis de le lancer comme vous le souhaitez. Vous pouvez même le pousser vers un dépôt où vous pourrez le lancer à partir d’une autre machine.