When booting for the first time, mysql has not properly initialized its
data. Here, we boot and stop mysql to make sure the root user has been
properly created.
Because we use "exec" and not "run" like in the local install, we need
to explicitely define the django settings (which sucks). This should be
improved by using k8s Jobs.
We re-introduce the dependency of the nginx container on the lms/cms
images. This dependency was removed to address a debugging scenario
which is actually not practical. Without this dependency, we are forced
to use an external docker-specific resolver which makes the local nginx
configuration incompatible with the kubernetes configuration.
Portainer is no longer a global activation flag, because it does not
make much sense in the context of kubernetes. Instead, we use a simpler
"make" command.
Creating soft links to files that do not exist is just madness, let's
stop it. Instead, we take advantage of the CONFIG_ROOT environment
variable, which allows to place lms/cms.env/auth.json files anywhere.
"env" now only generates the environment, and depends only on
config.json, which is run only when necessary. There exists only one
"make configure" command, which force-runs config.json and builds the
env.
By switching from ubuntu:18.04 to alpine, we reduce the local image size
from 510 to 87 Mb. Because we don't use bash anymore, it's difficult to
rely on chroot, so we just get rid of docker-entrypoint.sh