# ---------------------------------- # Projekt: michaelschiemer.de # Docker & Ansible Makefile # ---------------------------------- PROJECT_NAME = michaelschiemer ENV ?= dev # Standart Docker Compose Befehle up: ## Startet alle Docker-Container ./bin/up down: ## Stoppt alle Container ./bin/down build: docker compose build restart: ## Neustart aller Container ./bin/restart logs: ## Zeigt Logs aus Docker docker compose logs -f ps: ## Docker PS docker compose ps reload: ## Dump Autoload & Restart PHP docker-compose exec php composer dump-autoload -o docker-compose restart php # Wähle dev- oder prod-PHP-Konfig je nach ENV phpinfo: @echo "Aktive PHP-Konfiguration: php.$(ENV).ini" # Ansible Deployment setup: ## Führt Ansible Setup aus ./bin/setup deploy: ## Führt Ansible Deploy aus ./bin/deploy test: ## Führt Tests aus (Platzhalter) ./bin/test # Cleanup temporärer/metadaten-Dateien clean: ## Entfernt temporäre Dateien find . -type f -name "*Zone.Identifier" -delete find . -type f -name "*.retry" -delete # Projektstatus status: ## Zeigt Container-Status @echo "Aktuelles Projekt: $(PROJECT_NAME)" @echo "Umgebung: $(ENV)" doctor: ## Prüft ob Komponenten installiert sind @echo "🔍 Prüfe Voraussetzungen..." @which docker > /dev/null || echo "❌ Docker fehlt" @which ansible-playbook > /dev/null || echo "❌ Ansible fehlt" @test -f .env || echo "⚠️ .env-Datei fehlt" # Helfer: Automatische Zielübersicht help: ## Zeigt diese Hilfe an @echo "" @echo "🛠 Verfügbare Make-Befehle:" @grep -E '^[a-zA-Z_-]+:.*?## ' Makefile | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-16s\033[0m %s\n", $$1, $$2}' @echo "" composer: ## Use Composer docker compose exec php composer $(ARGS) fix-perms: ## Fix permissions sudo chown -R $(USER):$(USER) . cs: @$(MAKE) composer ARGS="cs" cs-fix-file: ## Fix code style for a specific file docker compose exec -e PHP_CS_FIXER_IGNORE_ENV=1 php ./vendor/bin/php-cs-fixer fix $(subst \,/,$(FILE)) cs-fix: ## Fix code style for all PHP files docker compose exec -e PHP_CS_FIXER_IGNORE_ENV=1 php ./vendor/bin/php-cs-fixer fix health: ansible-playbook ansible/check.yml # Konfiguration ANSIBLE_INVENTORY=ansible/inventory/hosts.ini PLAYBOOK_DIR=ansible/playbooks/deploy .PHONY: dev staging production dev: ansible-playbook -i $(ANSIBLE_INVENTORY) $(PLAYBOOK_DIR)/dev.yml #--ask-become-pass staging: ansible-playbook -i $(ANSIBLE_INVENTORY) $(PLAYBOOK_DIR)/staging.yml production: ansible-playbook -i $(ANSIBLE_INVENTORY) $(PLAYBOOK_DIR)/production.yml .PHONY: up down build restart logs ps phpinfo deploy setup clean status