Bewährte Praktiken zur Anpassung der Bereitstellung

Es ist üblich, app.yml zu bearbeiten, um Discourse-Einstellungen anzupassen.

Außerdem habe ich unter How to avoid throttling limits with admin API key? - #7 by aas erfahren, dass ich die Nginx-Konfiguration ändern muss, um API-Anfragen zu rate-limitieren.

Meine Frage ist, was die empfohlenen Best Practices für Dinge wie sind:

  • Versionierung von Dateien wie app.yml
    • Ich müsste sie außerhalb von /var/discourse versionieren und jedes Mal, wenn ich sie ändere, nach /var/discourse/containers/ verschieben.
  • Ändern, Überschreiben oder Hinzufügen neuer Vorlagen
    • templates/web.ratelimited.template.yml wird von Git nicht ignoriert. Obwohl es sich seit 6 Jahren nicht geändert hat, scheint eine direkte Bearbeitung nicht ratsam. Es ist möglich, dass ./launcher rebuild es überschreibt. Oder die git pull-Befehle schlagen fehl.

Mögliche Lösung:

  • Erstellen Sie ein eigenes Git-Repository mit app.yml und einer Vorlage.
  • Schreiben Sie eine GitHub-Aktion, die Ansible verwendet, um app.yml in /var/discourse/containers/ zu kopieren und die Vorlage auch auf den Server zu kopieren, auf dem Discourse läuft.

Fragen

  • Wo wäre ein guter Ort, um meine benutzerdefinierte Vorlage zu platzieren?

Es sieht so aus, als könnte ich replace-Abschnitte direkt zu app.yml hinzufügen, anstatt Vorlagen zu verwenden, wie hier erwähnt:

Ja, Sie können mit App.yml Sicherungskopien erstellen und diese nach Bedarf benennen.

Wenn Sie einen bestimmten Abschnitt ändern, können Sie auch Kommentare hinzufügen. Ich selbst habe als Self-Hosted-Nutzer meine Plugins nach offiziellen, Pavilion und anderen organisiert. Ich füge beim Installieren eines neuen Plugins im entsprechenden Abschnitt einen Kommentar hinzu.

Andere haben vielleicht bessere Ideen als meine.