DOCKER_COMPOSE=docker compose -f docker-compose-local.yml .DEFAULT_GOAL := help .PHONY: init docker-up docker-down docker-start docker-ps docker-logs sync build dev preview include ./.env help: ## show this help @echo MAKE TARGETS @grep -h -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' init: ## initialize required directories mkdir -p tmp tmp/.npm tmp/nonexistent docker-up: init ## bring docs stack up in background $(DOCKER_COMPOSE) --profile docs up -d docker-down: ## take docs stack down $(DOCKER_COMPOSE) --profile docs down docker-start: init ## start docs stack in foreground (CTRL-C beendet) $(DOCKER_COMPOSE) --profile docs up; $(DOCKER_COMPOSE) --profile docs down docker-ps: ## show container state $(DOCKER_COMPOSE) --profile docs --profile build ps docker-logs: ## show docker logs and follow $(DOCKER_COMPOSE) --profile docs --profile build logs -f --tail=100 || true sync: ## Server- und Nova-Docs übernehmen node scripts/sync-server-docs.mjs dev: ## lokaler Dev-Server ohne Docker npm run dev build: ## statischer Build (prüft auch, ob alles rendert) npm run build preview: ## gebauten Stand lokal ansehen npm run preview fix-permissions: ## set files/directories owner to UID:GID from .env sudo chown -R $(CODER_UID):$(CODER_GID) ./