@@ -24,9 +24,13 @@ CGID ?= $(LOCAL_GID)
2424# Define network name.
2525COMPOSE_NET_NAME := $(COMPOSE_PROJECT_NAME ) _front
2626
27- # Determine mysql data directory if defined
28- ifeq ($(shell docker-compose config --services | grep mysql) ,mysql)
29- MYSQL_DIR=$(shell cd docker && realpath $(DB_DATA_DIR))/$(COMPOSE_PROJECT_NAME)_mysql
27+ SDC_SERVICES =$(shell docker-compose config --services)
28+ # Determine database data directory if defined
29+ ifeq ($(findstring mysql,$(SDC_SERVICES ) ) ,mysql)
30+ DB_MOUNT_DIR=$(shell cd docker && realpath $(DB_DATA_DIR))/$(COMPOSE_PROJECT_NAME)_mysql
31+ endif
32+ ifeq ($(findstring postgresql,$(SDC_SERVICES ) ) ,postgresql)
33+ DB_MOUNT_DIR=$(shell cd docker && realpath $(DB_DATA_DIR))/$(COMPOSE_PROJECT_NAME)_pgsql
3034endif
3135
3236# Define current directory only once
@@ -59,17 +63,19 @@ ifeq ($(strip $(COMPOSE_PROJECT_NAME)),projectname)
5963 $(info Please review your project settings and run `make all` again.)
6064 exit 1
6165endif
62- ifdef MYSQL_DIR
63- mkdir -p $(MYSQL_DIR ) && chmod 777 $(MYSQL_DIR )
66+ ifdef DB_MOUNT_DIR
67+ $(shell [ ! -d $(DB_MOUNT_DIR) ] && mkdir -p $(DB_MOUNT_DIR ) && chmod 777 $(DB_MOUNT_DIR) )
6468endif
6569 make -s down
6670 @echo "Updating containers..."
6771 docker-compose pull
6872 @echo "Build and run containers..."
73+ mkdir -p $(COMPOSER_HOME_CACHE)
6974 docker-compose up -d --remove-orphans
7075 $(call php-0, apk add --no-cache graphicsmagick tzdata $(ADD_PHP_EXT))
7176 # Set up timezone
7277 $(call php-0, cp /usr/share/zoneinfo/Europe/Paris /etc/localtime)
78+ $(call php-0, sh -c '[ ! -z "$$COMPOSER_HOME" -a -d $$COMPOSER_HOME ] && chown -R $(CUID):$(CGID) $$COMPOSER_HOME')
7379 $(call php-0, kill -USR2 1)
7480 $(call php, composer global require -o --update-no-dev --no-suggest "hirak/prestissimo:^0.3")
7581
@@ -148,9 +154,13 @@ clean: info
148154 make -s down
149155 $(eval SCAFFOLD = $(shell docker run --rm -v $(CURDIR ) :/mnt -w /mnt --user $(CUID ) :$(CGID ) $(IMAGE_PHP ) composer run-script list-scaffold-files | grep -P '^(?!>) ') )
150156 @docker run --rm --user 0:0 -v $(CURDIR ) :/mnt -w /mnt -e RMLIST=" $( addprefix web/,$( SCAFFOLD) ) $( DIRS) " $(IMAGE_PHP ) sh -c ' for i in $$RMLIST; do rm -fr $$i && echo "Removed $$i"; done'
151- ifdef MYSQL_DIR
152- @echo "Removing mysql data from $(MYSQL_DIR) ..."
153- docker run --rm --user 0:0 -v $(shell dirname $(MYSQL_DIR)):/mnt $(IMAGE_PHP) sh -c "rm -fr /mnt/`basename $(MYSQL_DIR)`"
157+ ifdef DB_MOUNT_DIR
158+ @echo "Clean-up database data from $(DB_MOUNT_DIR) ..."
159+ docker run --rm --user 0:0 -v $(shell dirname $(DB_MOUNT_DIR)):/mnt $(IMAGE_PHP) sh -c "rm -fr /mnt/`basename $(DB_MOUNT_DIR)`"
160+ endif
161+ ifdef COMPOSER_HOME_CACHE
162+ @echo "Clean-up composer cache from $(COMPOSER_HOME_CACHE) ..."
163+ docker run --rm --user 0:0 -v $(shell dirname $(abspath $(COMPOSER_HOME_CACHE))):/mnt $(IMAGE_PHP) sh -c "rm -fr /mnt/`basename $(COMPOSER_HOME_CACHE)`"
154164endif
155165ifeq ($(CLEAR_FRONT_PACKAGES ) , yes)
156166 make clear-front
0 commit comments