Migliori pratiche per la personalizzazione del deployment

È comune modificare app.yml per ottimizzare le impostazioni di Discourse.

Inoltre, su How to avoid throttling limits with admin API key? - #7 by aas ho scoperto che devo modificare la configurazione di nginx per evitare le richieste API di rate-limiting.

La mia domanda è: quali sono le best practice consigliate per cose come:

  • Versionamento di file come app.yml
    • Dovrei versionarlo al di fuori di /var/discourse e spostarlo in /var/discourse/containers/ ogni volta che lo modifico.
  • Modifica, sovrascrittura o aggiunta di nuovi template
    • templates/web.ratelimited.template.yml non viene ignorato da git. Sebbene non sia cambiato per 6 anni, modificarlo direttamente non sembra saggio. È possibile che ./launcher rebuild lo sovrascriva. O che i comandi git pull falliscano.

Possibile soluzione:

  • Creare il mio repository git con app.yml e un template.
  • Scrivere un’azione GitHub che utilizzi Ansible per copiare app.yml in /var/discourse/containers/ e copiare anche il template sul server che esegue Discourse.

Domande

  • Dove sarebbe un buon posto per mettere il mio template personalizzato?

Sembra che io possa aggiungere sezioni replace direttamente a app.yml invece di usare i template come menzionato qui:

Sì, puoi dire che con App.yml puoi creare copie di backup e nominarle secondo le tue esigenze.

Se stai modificando una sezione particolare, puoi anche aggiungere commenti. Io, come self-hosted, ho i miei plugin organizzati per ufficiali, pavilion e altri. Aggiungo un commento quando installo un nuovo plugin nella sezione appropriata.

Altri però potrebbero avere idee migliori delle mie.