I’ve been asked to make a docker-compose file for a discourse project I’m working on to make it as simple as possible for developers and sysadmins we’re working with to fire up a discourse instance to test against.
I’ve read through Can Discourse ship frequent Docker images that do not need to be bootstrapped? and came away the notions that ./launcher was really necessary in order to keep the right versions of software in play, to make installation of plugins seamless and deterministic, and to enable software upgrades via the web UI, all ./launcher was doing was working out the correct command line options to send to docker, using docker-compose to build the image did not work given the complexities involved, and interestingly, that I could just use the docker image created by ./launcher and use that with docker-compose.
I rebuilt the app, copied the final command to launch the instance, converted that to a docker-compose.yml file and started the container. I just have the init scripts to go.
I’m thinking I’d have the scripts … the initial init scripts being accessible in the shared folder and getting using docker-compose run or docker exec to get to the bootstrapping.
Has anyone done this?
Are there any guides as to what subset of scripts need to be run is the base image has already been built?
Cheers and thanks
Keith John Hutchison
Background Research.
I’ve read through install-with-docker-compose and it works well enough … main issues is it’s slightly behind the official release, and there is no command line support for discourse and rails.
I’ve since discovered that adding discourse and rails command line support will be trivial as they are bash scripts.
I’ve read through Beginners Guide to Install Discourse for Development using Docker and I got a local instance of docker running on my Mac.
The main issue here was I had to bootstrap the image which is something I’ve been asked to avoid.
I restored locally after running discourse enable_restore from a staging backup and it looks good.
I’ve investigated bitnami/discourse. It worked … main issues was it was a fair bit behind the official image, quite a bit different with paths and it was slower than Install with Docker compose