From 6f0b7da2219f9510710951db96a61263faec3ba8 Mon Sep 17 00:00:00 2001 From: Steven DUBOIS Date: Tue, 4 Feb 2025 14:36:36 +0100 Subject: [PATCH] Add ability to override default nginx magento.conf + Makefile export variables refactorisation --- .github/workflows/ci.yml | 1 + Makefile | 19 ++++++++++++++----- docker-compose.override.yml | 4 ++++ 3 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 docker-compose.override.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c007c33..f7b30d3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,6 +17,7 @@ jobs: sed -i '/PROJECT_LOCATION/d' docker-compose.yml # Remove nginx block because of its "volumes" empty array sed -i '/^\s*nginx:/,/^ *$/d' docker-compose.yml + rm docker-compose.override.yml - name: "Build containers" run: | diff --git a/Makefile b/Makefile index 1352685..582545d 100644 --- a/Makefile +++ b/Makefile @@ -9,10 +9,15 @@ export COMPOSE_PROJECT_NAME := magento2_$(shell echo $$(basename $$(pwd)) | tr ' # Extract environment variables needed by the environment export PROJECT_LOCATION := $(shell echo ${MAKEFILE_DIRECTORY}) -export DOCKER_PHP_IMAGE := $(shell grep DOCKER_PHP_IMAGE ${MAKEFILE_DIRECTORY}docker/local/.env | awk -F '=' '{print $$NF}') -export DOCKER_MYSQL_IMAGE := $(shell grep DOCKER_MYSQL_IMAGE ${MAKEFILE_DIRECTORY}docker/local/.env | awk -F '=' '{print $$NF}') -export DOCKER_ELASTICSEARCH_IMAGE := $(shell grep DOCKER_ELASTICSEARCH_IMAGE ${MAKEFILE_DIRECTORY}docker/local/.env | awk -F '=' '{print $$NF}') -export DOCKER_REDIS_IMAGE := $(shell grep DOCKER_REDIS_IMAGE ${MAKEFILE_DIRECTORY}docker/local/.env | awk -F '=' '{print $$NF}') + +define load_env_var +$(shell grep $(1) ${MAKEFILE_DIRECTORY}docker/local/.env | awk -F '=' '{print $$NF}') +endef + +export DOCKER_PHP_IMAGE := $(call load_env_var,DOCKER_PHP_IMAGE) +export DOCKER_MYSQL_IMAGE := $(call load_env_var,DOCKER_MYSQL_IMAGE) +export DOCKER_ELASTICSEARCH_IMAGE := $(call load_env_var,DOCKER_ELASTICSEARCH_IMAGE) +export DOCKER_REDIS_IMAGE := $(call load_env_var,DOCKER_REDIS_IMAGE) ## ## ---------------------------------------------------------------------------- @@ -82,7 +87,11 @@ root: ## Display the commands to set up the environment for an advanced usage @echo "# eval \$$(make root)" start: ## Start the environment - @docker compose up --detach --remove-orphans + @if [ -f "$(PROJECT_LOCATION)/docker/local/magento.conf" ]; then \ + docker compose -f $(COMPOSE_FILE) -f $(DOCKER_PATH)/docker-compose.override.yml up --detach --remove-orphans; \ + else \ + docker compose -f $(COMPOSE_FILE) up --detach --remove-orphans; \ + fi stats: ## Print real-time statistics about containers ressources usage docker stats $(docker ps --format={{.Names}}) diff --git a/docker-compose.override.yml b/docker-compose.override.yml new file mode 100644 index 0000000..142b574 --- /dev/null +++ b/docker-compose.override.yml @@ -0,0 +1,4 @@ +services: + nginx: + volumes: + - ${PROJECT_LOCATION}/docker/local/magento.conf:/etc/nginx/conf.d/magento.conf.sample:ro