Welche Einstellungen können ohne einen Container-Neubau konfiguriert werden?

Hallo

Eine kurze Frage zur Möglichkeit, dasselbe Discourse-Image in mehreren Umgebungen (Staging, Beta, Produktion usw.) bereitzustellen.

Ich möchte das Discourse-Image einmal in meiner CI/CD-Pipeline erstellen, dieses Image in ein Repository pushen und dann exakt dasselbe Discourse-Image in allen Umgebungen laufen lassen. Die Unterschiede zwischen den Umgebungen (Hostname usw.) sollen durch Umgebungsvariablen oder Konfigurationsdateien dargestellt werden, die sich außerhalb des Containers befinden. Meine Erfahrung mit Discourse ist, dass es nicht ganz offensichtlich ist, welche Einstellungen in ein Image eingebettet sind und welche sicher durch Ändern der YAML-Datei ohne Neuaufbau konfiguriert werden können.

Gibt es eine Liste der Variablen, die in jeder Umgebung sicher ohne Neustart des Containers konfiguriert werden können?

Welcome, @russellwstanley. There has been lots of discussion of people who want to be able to have a docker_compose file that solves all their problems, but it’s not quite that simple. There has been much discussion about this (that I can’t find in 30 seconds).

To see what settings you can pass to the container you can look at discourse/config/discourse.config.sample at main · discourse/discourse · GitHub and discourse/config/site_settings.yml at main · discourse/discourse · GitHub to see what can be configured with environment variables.

But some things need to be done with things like

rake db:migrate
rake assets:precompile

so even if you get an image that has all the right stuff, it’s not quite as simple as just cranking it up.

Thanks so much for your quick reply @pfaffman. I’ll take a look at those settings and see if I can make something work.