I’m just getting started looking at Dreamfactory as part of our containerized backend, and wanted to check if there were any good resources or best-practices for automating the setup up of the dreamfactory instances and the app configurations.
Ideally it would work like our other containers in that it takes some environment variables (server names, api keys, dev/prod flags) and end up in a predictable, fully-functional, public-traffic-ready state once built locally or as part of our cloud build pipeline.
There seems to be two core stages that would be involved: #1 the setup of the dreamfactory instance itself, and #2 the setup of our App in terms of services, schema etc.
For #1 the first hurdle is the need for a system admin to be setup via the GUI - is there a way to do this via a config file? I have seen there is a CLI for this stage, so maybe thats possible to use via docker? I’ve also seen some issues with cookies persisting between builds of the container and causing auth issues preventing log-in/out, but thats more client-side.
For #2, there is the exporting of packages to configure the app, which seems to cover all the needed data there. Can these packages be imported via shell commands while setting up a docker container (either in the dockerfile or on entrypoint)?
All the above is likely possible to achieve by taking an image of the setup after configuring it manually (e.g. a copy of the local SQL database and filesytem) and using that as a golden master for all builds, but that seems like it could be quite brittle in terms of moving between environments (dev, test, staging, prod), security, and future updates.
Happy to take any suggestions/tips from people running dreamfactory in docker, or using a CI/CD pipeline.