Hi i have been reviewing the docker-compose file, and it includes a lot of ineffective file mappings that are not allowing for scaling and makes deployment using non-cli managment tools impossible…
these files could easily be included in the image build process, so you won’t need to have them on the local filesystem.
it also seems redundant that you have configured environment variables, but still require a .env file…
Preferably environment variables should be handled as Secrets (e.g. DB_PASSWORD_FILE: “/run/secrets/db_pass”)
it would render a much simpler compose file, and allow for much more flexible deployment.
the root folder of any eramba application includes a Dockerfile that is always used to build that version from. When you open it youll see that all of those files are already included within each image. The mappings are there for people to be able to customize some key parts when running it themselves, like certificates for apache.
I reviewed the dockerfile, and found a few things:
This isn’t included in the build actually: docker-cron-entrypoint.sh
Considering it is used as the entrypoint for the cron container, this should be included.
this file(from git) is also different from the file located inside the image /var/www/eramba/docker/ so this cannot be used as substitute.
it would also be best practice to clean up the Apt cache to reduce the imagesize
Ok, im adding the docker-cron-entrypoint.sh into the docker image build for 3.19.0. Also im modifying simple install to specifically use this file as an entrypoint to the Cron container as per this commit.
That PR also contains some significant updates that will take effect when we release 3.19.0.