diff --git a/make/def.app.mk b/make/def.app.mk index f0065d8..80dd620 100644 --- a/make/def.app.mk +++ b/make/def.app.mk @@ -16,7 +16,9 @@ define app-bootstrap $(eval APP := $(or $(1), $(APP))) $(eval APP_DIR := $(or $(2), $(RELATIVE)$(APP))) $(eval APP_NAME := $(or $(3),$(subst -,,$(subst .,,$(call LOWERCASE,$(APP)))))) - $(eval COMPOSE_FILE := $(STACK_MYOS_FILE) $(wildcard $(APP_DIR)/docker-compose.yml $(APP_DIR)/docker-compose.$(ENV).yml $(APP_DIR)/docker/docker-compose.yml $(foreach file,$(patsubst $(APP_DIR)/docker/docker-compose.%,%,$(basename $(wildcard $(APP_DIR)/docker/docker-compose.*.yml))),$(if $(filter true,$(COMPOSE_FILE_$(file)) $(COMPOSE_FILE_$(call UPPERCASE,$(file)))),$(APP_DIR)/docker/docker-compose.$(file).yml)))) + $(eval COMPOSE_FILE := $(STACK_MYOS_FILE) $(wildcard $(APP_DIR)/docker-compose.yml $(APP_DIR)/docker-compose.$(ENV).yml $(APP_DIR)/docker/docker-compose.yml $(foreach file,$(patsubst $(APP_DIR)/docker/docker-compose.%,%,$(basename $(wildcard $(APP_DIR)/docker/docker-compose.*.yml))),$(if $(filter true,$(COMPOSE_FILE_$(file)) $(COMPOSE_FILE_$(call UPPERCASE,$(file)))),$(APP_DIR)/docker/docker-compose.$(file).yml)) $(foreach file,$(APP) $(APP).$(ENV) $(foreach env,$(COMPOSE_FILE_ENV),$(APP).$(env)),apps/$(APP)/$(file).yml))) + $(eval COMPOSE_PROJECT_NAME := $(if $(DOCKER_COMPOSE_PROJECT_NAME),$(DOCKER_COMPOSE_PROJECT_NAME),$(subst .,,$(call LOWERCASE,$(USER)-$(APP_NAME)-$(ENV)$(addprefix -,$(subst /,,$(subst -,,$(APP_PATH)))))))) + $(eval COMPOSE_SERVICE_NAME := $(if $(DOCKER_COMPOSE_SERVICE_NAME),$(DOCKER_COMPOSE_SERVICE_NAME),$(subst _,-,$(COMPOSE_PROJECT_NAME)))) $(eval DOCKER_BUILD_DIR := $(APP_DIR)) $(if $(wildcard $(APP_DIR)/.env.dist), $(call .env,$(APP_DIR)/.env,$(APP_DIR)/.env.dist)) $(if $(wildcard $(APP_DIR)/.env.example), $(call .env,$(APP_DIR)/.env,$(APP_DIR)/.env.example)) @@ -68,11 +70,12 @@ endef # function app-down: Call docker rm for each Dockerfile in dir 1 define app-down $(call INFO,app-down,$(1)$(comma)) + $(if $(filter-out $(STACK_MYOS_FILE),$(COMPOSE_FILE)),$(call docker-compose,down -v), $(call docker-file,$(1)) $(foreach dockerfile,$(DOCKER_FILE), $(call app-docker,$(dockerfile)) $(call docker-rm) - ) + )) endef # function app-exec: Call docker exec $(ARGS) for each Dockerfile in dir 1 @@ -100,11 +103,12 @@ endef # function app-logs: Call docker logs $(ARGS) for each Dockerfile in dir 1 define app-logs $(call INFO,app-logs,$(1)$(comma) $(2)) + $(if $(filter-out $(STACK_MYOS_FILE),$(COMPOSE_FILE)),$(call docker-compose,logs), $(call docker-file,$(1)) $(foreach dockerfile,$(DOCKER_FILE), $(call app-docker,$(dockerfile)) $(call docker-logs) - ) + )) endef # function app-ps: Call docker ps for each Dockerfile in dir 1 @@ -144,10 +148,11 @@ endef define app-up $(call INFO,app-up,$(1)$(comma)) $(eval DOCKER_RUN_OPTIONS += -d) + $(if $(filter-out $(STACK_MYOS_FILE),$(COMPOSE_FILE)),$(call docker-compose,up), $(if $(shell docker ps -q -f name=$(DOCKER_NAME) 2>/dev/null), $(call INFO,docker $(DOCKER_NAME) already running) , $(call app-run,$(1)) - ) + )) endef # function app-update: Run 'cd dir 1 && git pull' or Call app-install