Nach der Installation von Discourse müssen viele Dinge (sowohl im Kern von Discourse als auch in Plugins) manuell über die Benutzeroberfläche für Einstellungen konfiguriert werden. Das erfordert viel Tippen und Klicken sowie das Erinnern daran, wo sich alle diese Einstellungen befinden.
Ist es möglich, diese Einstellungen als Teil des Deployments zu definieren, z. B. durch ein parametrisierbares Skript, das nach Abschluss der ersten Bereitstellung ausgeführt werden kann?
Sie können ganz einfach ein Plugin erstellen, um „alle möglichen
Das ist möglich. Meine Frage wäre jedoch: Warum benötigen Sie das? Stellen Sie viele Sites bereit?
Ein Site-Backup und eine Kopie Ihrer app.yml reichen aus, um eine identische Site auf einem anderen Server neu zu erstellen.
Darüber hinaus bleiben Einstellungen über Neubuilds hinweg erhalten, sodass Sie sich keine Sorgen um lokale Updates auf demselben Server machen müssen.
Wenn Sie eine Site-Vorlage erstellen möchten, können Sie dies meiner Meinung nach mit nur einem Backup und einer Vorlage app.yml erreichen. Sie können die Site-Einstellungen in der app.yml ändern, falls Sie dies wünschen.
Wir erstellen mehrere Sites, die jeweils unterschiedliche Einstellungen benötigen (Branding, Sicherheitseinrichtung usw.).
Es handelt sich immer um dieselben Einstellungen, nur die zugewiesenen Werte variieren.
Unsere Infrastruktur basiert auf Bitnami-Containern, die mit Ansible in K8S bereitgestellt werden.
Dann kannst du auch eine YAML-Vorlage erstellen, wie vorgeschlagen, und deine Vorlage mit benutzerdefinierten Site-Einstellungen in deine Container-Datei aufnehmen.
Oder du machst etwas Ähnliches mit einem Plugin und liest die sitespezifischen Einstellungen aus einer Datei in deinem gemeinsamen Verzeichnis oder von einem entfernten Standort.
Sie können alle Site-Einstellungen über Umgebungsvariablen festlegen (z. B. DISCOURSE_SETTING_NAME=xxx). Sie können alles über die API ändern. Und manchmal ist, wie NoBugsBunny vorschlägt, ein Plugin ein guter Weg, dies zu tun.
Dies geht über den Rahmen der kostenlosen Unterstützung hinaus, die ich hier anbiete. Ich empfehle Bitnami nicht, habe aber mit Kunden gearbeitet, die es verwenden. Ich habe einige GKE-Bereitstellungen durchgeführt (unter Verwendung von unterstützten Containern, die mit ./launcher erstellt wurden) und bin erfahren im Bereitstellen und Verwalten von Discourse mit Ansible. Wenn Sie Hilfe benötigen und ein Budget haben, wenden Sie sich bitte an jay@literatecomputing.com.