The current Docker Compose environment serves well for both a simple setup and a more development specific purpose. However it lacks certain configurations and optimisations needed for a proper production-grade deployment.
We need to introduce changes and configurations to our Docker Compose environment to align it with production standards. This includes optimising resource allocation, securing sensitive information, ensuring high availability if possible, and incorporating best practices for monitoring and logging.
Here is the list of things to think about
Use a non-root user to install all software where root is not a requirement for installation
Should we have separate ckan users for installation vs running the processes?
What about using a non-root user for volume mounts
Can we somehow simplify by combining both the non-dev and dev configurations so only one command is needed ie: docker compose build | up
The current Docker Compose environment serves well for both a simple setup and a more development specific purpose. However it lacks certain configurations and optimisations needed for a proper production-grade deployment.
We need to introduce changes and configurations to our Docker Compose environment to align it with production standards. This includes optimising resource allocation, securing sensitive information, ensuring high availability if possible, and incorporating best practices for monitoring and logging.
Here is the list of things to think about
docker compose build | up