ifdef DOCKER_LOGIN MANDATORY = $(shell printenv MANDATORY) DOCKER_USER DOCKER_PASS DOCKER_REGISTRY endif ifndef DOCKER_LOGIN DOCKER_LOGIN = 0 endif pull-compose: @echo "\n### pulling image(s)" @$(foreach host,$(DEPLOY_HOSTS), \ echo "#host: $(host)"; \ if test "$(DOCKER_LOGIN)" -eq 1 ; \ then \ echo "\n#### perform docker login with user $(DOCKER_USER) on $(DOCKER_REGISTRY)"; \ ssh $(SSH_USER)@$(host) "echo $(DOCKER_PASS) | docker login -u $(DOCKER_USER) --password-stdin $(DOCKER_REGISTRY)"; \ fi; \ if test -n "$(DOCKER_IMAGE)" ; \ then \ ssh $(SSH_USER)@$(host) "docker pull $(DOCKER_IMAGE)"; \ fi; \ ) start-compose: @echo "\n### starting service(s)" @$(foreach host,$(DEPLOY_HOSTS), \ set -e; \ echo "#host: $(host)"; \ ssh $(SSH_USER)@$(host) "cd $(project_dir); docker-compose up -d"; \ sleep $(DEPLOY_START_DELAY); \ set +e; \ ) logs-compose: @echo "\n### logs" @$(foreach host,$(DEPLOY_HOSTS), \ set -e; \ echo "#host: $(host)"; \ ssh $(SSH_USER)@$(host) "cd $(project_dir); docker-compose logs -f $(service)"; \ set +e; \ ) restart-compose: @echo "\n### restarting service(s)" @$(foreach host,$(DEPLOY_HOSTS), \ set -e; \ echo "#host: $(host)"; \ ssh $(SSH_USER)@$(host) "cd $(project_dir); docker-compose restart"; \ sleep $(DEPLOY_START_DELAY); \ set +e; \ )