MANDATORY-compose-file = DEPLOY_HOSTS DEPLOY_TYPE TAG DEPLOY_COMPOSE_FILE DEPLOY_COMPOSE_PROJECT

pull-compose-file:
	@- echo "\n### pulling image(s)"
	@- $(foreach host,$(DEPLOY_HOSTS), \
		echo "$(host)"; \
		if test $(DOCKER_LOGIN) -eq 1 ; \
		then \
			echo "\n#### perfom docker login with user $(DOCKER_USER) on $(DOCKER_REGISTRY)"; \
			ssh $(SSH_USER)@$(host) "docker login -u $(DOCKER_USER) -p $(DOCKER_PASS) $(DOCKER_REGISTRY)"; \
		fi; \
		ssh $(SSH_USER)@$(host) "docker pull $(DOCKER_IMAGE)"; \
	)

start-compose-file:
	@- echo "\n### starting service(s)"
	@- $(foreach host,$(DEPLOY_HOSTS), \
		echo "$(host)"; \
		ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose -f $(DEPLOY_COMPOSE_FILE) -p $(DEPLOY_COMPOSE_PROJECT) up -d"; \
		sleep $(DEPLOY_START_DELAY); \
	)

stop-compose-file:
	@- echo "\n### stopping service(s)"
	@- $(foreach host,$(DEPLOY_HOSTS), \
		echo "$(host)"; \
		ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose -f $(DEPLOY_COMPOSE_FILE) -p $(DEPLOY_COMPOSE_PROJECT) down"; \
	)
		
logs-compose-file:
	@- echo "\n### logs"
	@- ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose -f $(DEPLOY_COMPOSE_FILE) -p $(DEPLOY_COMPOSE_PROJECT) logs -f $(service)"
	
restart-compose-file:
	@- $(foreach host,$(DEPLOY_HOSTS), \
		echo "$(host)"; \
		ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose -f $(DEPLOY_COMPOSE_FILE) -p $(DEPLOY_COMPOSE_PROJECT) restart"; \
		sleep $(DEPLOY_START_DELAY); \
	)