Qualcuno potrebbe darmi consigli su come creare un’immagine Docker di Discourse che abbia un certo numero di plugin integrati anziché installarli tramite l’interfaccia utente?
Contesto: vogliamo utilizzare la build di Discourse più recente, ovvero discourse:stable, e da quanto ho letto nella guida all’installazione e in altra documentazione, possiamo prendere questa come immagine di base nel nostro Dockerfile ed eseguire qualcosa come:
RUN cd /var/www/discourse/plugins && \
git clone https://github.com/discourse/discourse-chat-integration.git
Questo aggiungerebbe il plugin discourse-chat-integration alla build. Quindi, al momento dell’esecuzione, possiamo passare tutte le variabili d’ambiente necessarie, ovvero DISCOURSE_HOSTNAME, DISCOURSE_SMTP_DOMAIN, DISCOURSE_DB_HOST ecc., anziché averle codificate nel file app.yml.
Se qualcuno potesse darmi un consiglio in merito, gli sarei molto grato.
Non puoi installare i plugin dall’interfaccia utente. Li installi dal file YML. Se stai usando un container non ancora supportato che non hai costruito tu stesso con launcher, allora faresti qualcosa come suggerisci.
Ma quel plugin è nel core (ma forse non ancora in stable?).
In realtà non sono codificati nel file YML. Il file yml viene utilizzato per costruire e avviare il container. Puoi costruirlo e poi avviarlo tu stesso, come preferisci. Puoi usare ./launcher start-cmd nome-container (o qualcosa del genere, puoi controllare in launcher per vedere se ho sbagliato).
Quindi, penso che tu voglia continuare a usare launcher, aggiungere il plugin, eseguire ./launcher bootstrap app il container, e poi avviarlo come preferisci. Puoi persino caricarlo su un repository da cui puoi avviarlo da qualche altra macchina.
sì, penso che potrebbe non esserci più stable, almeno non per molto. Vedi RFC: A new versioning strategy for Discourse