Bootstrap app container in 2 steps

@pfaffman If you give a look at the changes I made, I haven’t changed the instructions of the web template in discourse_docker, just separated them in 3 files, and that is the only thing I requested actually: one of them runs instructions that can be environment agnostic, like installing ruby gems, the discourse and plugins repository, and so on, another do some validations and the 3rd do environment specific stuff, like doing the db migration and precompiling the assets.

The complexity I think it adds is that when something is added on those files, the discourse team should consider if they are or aren’t environment specific (like depending on stuff in the db), and, based on that, define in which file it should be included.

The official install would work the same way it works now, except that it would include the 3 templates in the app.yml file (or make the templates/web.template.yml file include those 3, if it can be done, and in this case, from a user POV, nothing would be changed), instead of doing it in more than 1 step (it wouldn’t have the benefits of the 2 step install, but would work exactly how it’s done currently, so no breaking changes).

I know that sysadmin stuff can be really complex, but I tried to make it in the most straightforward way, considering how it’s currently done, to avoid much complexity (that’s why I haven’t said about k8s, separate the services in a docker-compose file, or similar stuff, because it would require big changes, and instead based myself on how it is done in the official install).

5 לייקים