make-deploy/compose.mk

55 lines
1.6 KiB
Makefile
Raw Normal View History

2025-04-10 13:22:00 +00:00
ifdef DOCKER_LOGIN
MANDATORY = $(shell printenv MANDATORY) DOCKER_USER DOCKER_PASS DOCKER_REGISTRY
endif
ifndef DOCKER_LOGIN
DOCKER_LOGIN = 0
endif
2022-07-05 06:27:53 +00:00
pull-compose:
2025-04-10 13:22:00 +00:00
@echo "\n### pulling image(s)"
$(foreach host,$(DEPLOY_HOSTS), \
2022-11-07 15:57:58 +00:00
echo "$(host)"; \
2025-04-10 13:22:00 +00:00
if test "$(DOCKER_LOGIN)" = "1" ; \
2022-09-20 11:38:18 +00:00
then \
2025-04-10 13:22:00 +00:00
echo "\n#### perform docker login with user $(DOCKER_USER) on $(DOCKER_REGISTRY)"; \
2022-11-09 11:39:22 +00:00
ssh $(SSH_USER)@$(host) "docker login -u $(DOCKER_USER) -p $(DOCKER_PASS) $(DOCKER_REGISTRY)"; \
2022-09-20 11:38:18 +00:00
fi; \
2025-04-10 13:22:00 +00:00
if test -n "$(DOCKER_IMAGE)" ; \
then \
ssh $(SSH_USER)@$(host) "docker pull $(DOCKER_IMAGE)"; \
fi; \
2022-07-05 06:27:53 +00:00
)
start-compose:
2025-04-10 13:22:00 +00:00
@echo "\n### starting service(s)"
$(foreach host,$(DEPLOY_HOSTS), \
2022-11-07 15:57:58 +00:00
echo "$(host)"; \
2025-04-10 13:22:00 +00:00
if test -n "$(DEPLOY_SUBPATH)" ; \
then \
ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME)/$(DEPLOY_SUBPATH); docker-compose up -d"; \
else \
ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose up -d"; \
fi; \
sleep $(DEPLOY_START_DELAY); \
2022-07-05 06:27:53 +00:00
)
2025-04-10 13:22:00 +00:00
logs-compose:
@echo "\n### logs"
$(foreach host,$(DEPLOY_HOSTS), \
2022-11-07 15:57:58 +00:00
echo "$(host)"; \
2025-04-10 13:22:00 +00:00
ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose logs -f $(service)"; \
)
2025-04-10 13:22:00 +00:00
2022-07-05 06:27:53 +00:00
restart-compose:
2025-04-10 13:22:00 +00:00
@echo "\n### restarting service(s)"
$(foreach host,$(DEPLOY_HOSTS), \
2022-11-07 15:57:58 +00:00
echo "$(host)"; \
2025-04-10 13:22:00 +00:00
if test -n "$(DEPLOY_SUBPATH)" ; \
then \
ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME)/$(DEPLOY_SUBPATH); docker-compose restart"; \
else \
ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose restart"; \
fi; \
sleep $(DEPLOY_START_DELAY); \
2025-04-10 13:22:00 +00:00
)