.PHONY: dev prod build logs stop clean restart shell # Default target .DEFAULT_GOAL := dev # Development mode with hot reloading dev: @echo "Starting development server..." docker compose --profile dev up -d heltec-docs-dev @echo "Site available at https://$(shell grep DOMAIN .env | cut -d= -f2)" docker compose logs -f heltec-docs-dev # Production mode with static build prod: @echo "Building and starting production server..." docker compose --profile prod up -d --build heltec-docs-prod @echo "Site available at https://$(shell grep DOMAIN .env | cut -d= -f2)" docker compose logs -f heltec-docs-prod # Build the Docker image build: docker compose build # Build production image specifically build-prod: docker compose --profile prod build heltec-docs-prod # Show logs logs: docker compose logs -f # Stop all containers stop: docker compose --profile dev --profile prod down # Stop and remove volumes clean: docker compose --profile dev --profile prod down -v --remove-orphans docker image prune -f # Restart containers restart: stop dev # Shell into development container shell: docker compose --profile dev exec heltec-docs-dev /bin/sh # Check container status status: docker compose ps # Local development without Docker (requires Node.js) local: npm run dev # Build locally without Docker local-build: npm run build # Preview local build local-preview: npm run preview