38 lines
1.8 KiB
Makefile
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}"
|