Quelles paramètres peuvent être configurés sans reconstruire le conteneur ?

Bonjour

Une question rapide concernant la possibilité de déployer la même image Discourse sur plusieurs environnements (staging, bêta, production, etc.).

Je souhaite construire l’image Discourse une seule fois dans ma pipeline CI/CD, la pousser vers un référentiel, et faire en sorte que la même image Discourse exacte s’exécute dans tous les environnements. Je souhaite que les différences entre les environnements (nom d’hôte, etc.) soient représentées par des variables d’environnement ou des fichiers de configuration externes au conteneur. Avec Discourse, mon expérience est qu’il n’est pas entièrement évident de savoir quelles paramètres sont intégrés dans une image et lesquels peuvent être configurés en modifiant le fichier YAML sans reconstruction.

Existe-t-il une liste des variables qui peuvent être configurées en toute sécurité dans chaque environnement sans reconstruction du conteneur quelque part ?

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.

3 « J'aime »

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

1 « J'aime »