Meilleures pratiques de personnalisation du déploiement

Il est courant de modifier app.yml afin d’ajuster les paramètres de Discourse.

De plus, sur How to avoid throttling limits with admin API key? - #7 by aas, j’ai découvert que je devais modifier la configuration nginx pour éviter les limitations de débit des requêtes API.

Ma question est, quelles sont les meilleures pratiques recommandées pour des choses comme :

  • La gestion des versions des fichiers tels que app.yml
    • Je devrais le versionner en dehors de /var/discourse et le déplacer vers /var/discourse/containers/ chaque fois que je le modifie.
  • La modification, le remplacement ou l’ajout de nouveaux modèles
    • templates/web.ratelimited.template.yml n’est pas ignoré par git. Bien qu’il n’ait pas changé depuis 6 ans, le modifier directement ne semble pas judicieux. Il est possible que ./launcher rebuild l’écrase. Ou que les commandes git pull échouent.

Solution possible :

  • Créer mon propre dépôt git avec app.yml et un modèle.
  • Écrire une action GitHub qui utilise Ansible pour copier app.yml dans /var/discourse/containers/ et copie également le modèle sur le serveur exécutant Discourse.

Questions

  • Où serait un bon endroit pour placer mon modèle personnalisé ?

Il semble que je puisse ajouter des sections replace directement à app.yml au lieu d’utiliser des modèles, comme mentionné ici :

Oui, vous pouvez dire qu’avec App.yml vous pouvez créer des copies de sauvegarde et les nommer selon vos besoins

Si vous modifiez une section particulière, vous pouvez également ajouter des commentaires. En tant qu’auto-hébergé, j’organise mes plugins par officiels, pavillon et autres. J’ajoute un commentaire lors de l’installation d’un nouveau plugin dans la section appropriée.

D’autres peuvent cependant avoir de meilleures idées que les miennes.