@@ -24,9 +24,13 @@ CGID ?= $(LOCAL_GID)
24
24
# Define network name.
25
25
COMPOSE_NET_NAME := $(COMPOSE_PROJECT_NAME ) _front
26
26
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
30
34
endif
31
35
32
36
# Define current directory only once
@@ -59,17 +63,19 @@ ifeq ($(strip $(COMPOSE_PROJECT_NAME)),projectname)
59
63
$(info Please review your project settings and run `make all` again.)
60
64
exit 1
61
65
endif
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) )
64
68
endif
65
69
make -s down
66
70
@echo "Updating containers..."
67
71
docker-compose pull
68
72
@echo "Build and run containers..."
73
+ mkdir -p $(COMPOSER_HOME_CACHE)
69
74
docker-compose up -d --remove-orphans
70
75
$(call php-0, apk add --no-cache graphicsmagick tzdata $(ADD_PHP_EXT))
71
76
# Set up timezone
72
77
$(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')
73
79
$(call php-0, kill -USR2 1)
74
80
$(call php, composer global require -o --update-no-dev --no-suggest "hirak/prestissimo:^0.3")
75
81
@@ -148,9 +154,13 @@ clean: info
148
154
make -s down
149
155
$(eval SCAFFOLD = $(shell docker run --rm -v $(CURDIR ) :/mnt -w /mnt --user $(CUID ) :$(CGID ) $(IMAGE_PHP ) composer run-script list-scaffold-files | grep -P '^(?!>) ') )
150
156
@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)`"
154
164
endif
155
165
ifeq ($(CLEAR_FRONT_PACKAGES ) , yes)
156
166
make clear-front
0 commit comments