veza/make/services.mk
2026-02-07 20:36:48 +01:00

38 lines
1.8 KiB
Makefile

# ==============================================================================
# SERVICE LIFECYCLE (Docker: start/stop/restart/logs per service)
# ==============================================================================
.PHONY: start-service stop-service restart-service logs-service
start-service: ## [MID] Start a specific service (usage: make start-service SERVICE=backend-api)
@if [ -z "$(SERVICE)" ]; then \
$(ECHO_CMD) "${RED}❌ Please specify SERVICE=name${NC}"; \
exit 1; \
fi
@$(ECHO_CMD) "${BLUE}🚀 Starting $(SERVICE)...${NC}"
@docker compose -f $(COMPOSE_PROD) up -d $(SERVICE) 2>/dev/null || \
$(MAKE) -s start-local-service SERVICE=$(SERVICE)
@$(ECHO_CMD) "${GREEN}$(SERVICE) started.${NC}"
stop-service: ## [MID] Stop a specific service (usage: make stop-service SERVICE=backend-api)
@if [ -z "$(SERVICE)" ]; then \
$(ECHO_CMD) "${RED}❌ Please specify SERVICE=name${NC}"; \
exit 1; \
fi
@$(ECHO_CMD) "${YELLOW}🛑 Stopping $(SERVICE)...${NC}"
@docker compose -f $(COMPOSE_PROD) stop $(SERVICE) 2>/dev/null || \
$(MAKE) -s stop-local-service SERVICE=$(SERVICE)
@$(ECHO_CMD) "${GREEN}$(SERVICE) stopped.${NC}"
restart-service: stop-service ## [MID] Restart a specific service (usage: make restart-service SERVICE=backend-api)
@$(ECHO_CMD) "${BLUE}🔄 Restarting $(SERVICE)...${NC}"
@$(MAKE) -s start-service SERVICE=$(SERVICE)
@$(ECHO_CMD) "${GREEN}$(SERVICE) restarted.${NC}"
logs-service: ## [MID] Show logs for a service (usage: make logs-service SERVICE=backend-api)
@if [ -z "$(SERVICE)" ]; then \
$(ECHO_CMD) "${RED}❌ Please specify SERVICE=name${NC}"; \
exit 1; \
fi
@docker compose -f $(COMPOSE_PROD) logs -f $(SERVICE) 2>/dev/null || \
$(ECHO_CMD) "${YELLOW}Service not running in Docker, check local logs${NC}"