.PHONY: help dev prod stop logs logs-dev logs-prod rebuild rebuild-dev clean install test # Default target help: @echo "Feuerwehr Dashboard - Available Commands" @echo "" @echo "Development:" @echo " make dev - Start local development database" @echo " make logs-dev - Show development logs" @echo " make rebuild-dev - Rebuild development services" @echo "" @echo "Production:" @echo " make prod - Deploy production environment" @echo " make logs-prod - Show production logs" @echo " make rebuild - Rebuild production services" @echo "" @echo "General:" @echo " make stop - Stop all services" @echo " make clean - Remove all containers and volumes" @echo " make install - Install dependencies for backend and frontend" @echo " make test - Run tests" @echo "" # Development dev: @echo "Starting local development database..." docker-compose -f docker-compose.dev.yml up -d @echo "" @echo "Database is ready at localhost:5432" @echo "Database: feuerwehr_dev" @echo "User: dev_user" @echo "Password: dev_password" logs-dev: docker-compose -f docker-compose.dev.yml logs -f rebuild-dev: docker-compose -f docker-compose.dev.yml up -d --build --force-recreate # Production prod: @if [ ! -f .env ]; then \ echo "Error: .env file not found!"; \ echo "Please copy .env.example to .env and configure it:"; \ echo " cp .env.example .env"; \ exit 1; \ fi @echo "Starting production deployment..." docker-compose -f docker-compose.yml up -d --build @echo "" @echo "Production services are running!" logs-prod: docker-compose -f docker-compose.yml logs -f logs: @make logs-prod rebuild: docker-compose -f docker-compose.yml up -d --build --force-recreate # General commands stop: @echo "Stopping all services..." docker-compose -f docker-compose.yml down 2>/dev/null || true docker-compose -f docker-compose.dev.yml down 2>/dev/null || true @echo "All services stopped" clean: @echo "Warning: This will remove all containers, volumes, and images!" @read -p "Are you sure? [y/N] " -n 1 -r; \ echo; \ if [ "$$REPLY" = "y" ] || [ "$$REPLY" = "Y" ]; then \ docker-compose -f docker-compose.yml down -v 2>/dev/null || true; \ docker-compose -f docker-compose.dev.yml down -v 2>/dev/null || true; \ docker images | grep feuerwehr | awk '{print $$3}' | xargs docker rmi -f 2>/dev/null || true; \ echo "Cleanup complete!"; \ else \ echo "Cleanup cancelled"; \ fi # Install dependencies install: @echo "Installing backend dependencies..." cd backend && npm install @echo "" @echo "Installing frontend dependencies..." cd frontend && npm install @echo "" @echo "Dependencies installed!" # Run tests test: @echo "Running backend tests..." cd backend && npm test @echo "" @echo "Running frontend tests..." cd frontend && npm test