.PHONY: dev prod down logs restart clean build # Default target dev: ## Start development environment docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build -d @echo "SpiceBook dev started" @echo " Frontend: http://localhost:4321" @echo " Backend: http://localhost:$${BACKEND_PORT:-8099}" @echo " API docs: http://localhost:$${BACKEND_PORT:-8099}/docs" @sleep 3 docker compose -f docker-compose.yml -f docker-compose.dev.yml logs --tail=30 prod: ## Start production environment docker compose -f docker-compose.yml -f docker-compose.prod.yml up --build -d @echo "SpiceBook production started" @sleep 3 docker compose -f docker-compose.yml -f docker-compose.prod.yml logs --tail=30 down: ## Stop all containers docker compose down logs: ## Show container logs docker compose logs -f --tail=50 restart: ## Restart all containers docker compose restart @sleep 3 docker compose logs --tail=30 clean: ## Remove containers, volumes, and build artifacts docker compose down -v --remove-orphans rm -rf frontend/node_modules frontend/dist frontend/.astro rm -rf backend/dist backend/build build: ## Build containers without starting docker compose -f docker-compose.yml -f docker-compose.dev.yml build backend-logs: ## Show backend logs only docker compose logs -f backend frontend-logs: ## Show frontend logs only docker compose logs -f frontend backend-shell: ## Open shell in backend container docker compose exec backend bash help: ## Show this help @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m %s\n", $$1, $$2}'