Introduced a conditional check in the entrypoint script to only clear caches if the install lock is missing and added logic to create necessary folder structures. Updated Laravel-specific post-installation steps to include extended permission settings. Enhanced the Dockerfile by including the Imagick PHP extension and updated `.dockerignore` to exclude additional storage directories.
Introduced a new `.env.dist` template to streamline environment variable management. Added Manticore service to the `docker-compose.yml` for enhanced database querying support. Updated `docker-entrypoint.sh` to use `envsubst` for environment substitution when generating `.env`.
Removed unnecessary packages, environment variables, and Sail-specific configurations. Replaced "sail" with "nntmux" for images, networks, and volumes. Simplified the setup by removing unused tests and redundant configurations.
This commit introduces a Dockerized environment for the application, including a Dockerfile, docker-compose.yml, and a custom entrypoint script. The setup supports multiple services like MariaDB, Redis, and Elasticsearch, with health checks and environment configurations. It also automates dependency installation, environment setup, and Laravel-specific tasks like caching and installation processes.
I've made various updates to the docker implementation to work with the
latest php7 and currently blocks php8 until we deem nntmux ready. I've
also made modifications that allow for customizations without leaving a
dirty git status i.e. moving redis, etc. to an overrides file that is
gitignored and php customizations i.e. locale to a local overrides file
that is also gitignored.
The new docker implementation utilizes supervisord to run various
services in the web container, i.e. nginx, php-fpm, horizon, etc.
I plan to continue to maintain this as needed. Closes#1152