The demo server that we are currently running is a single docker container with an sqlite database. This was a nice way to get started, but we need to make things a bit more complex as we add features to the system.
I see three equally possible ways to build things out:
- Deploy elasticsearch (and mysql) as a Puppet managed bare metal service
- Deploy elasticsearch (and mysql) as a Docker container using a systemd unit similar to the one created for Toolhub
- Deploy Toolhub and elasticsearch using docker-compose (similar to the dev environment)
Currently I'm leaning towards the docker-compose solution, mostly because of its similarity to the dev environment setup. I'm not sure if we can refactor things so that a single docker-compose config file is used in both environments, but it should be reasonably simple to keep the two configurations in sync.