# Docker lokal Letzte Aktualisierung: 2026-04-01 ## Ziel Diese Anleitung bringt die Anwendung lokal schnell und stabil zum Laufen. ## Voraussetzungen - Docker Desktop (oder Docker Engine + Compose) - Port `8080` (App) und `8081` (phpMyAdmin) sind frei - Nginx-only Setup: `.htaccess` wird nicht ausgewertet ## Start in 5 Schritten 1. ENV-Datei anlegen: ```bash cp .env.example .env ``` 2. Container bauen und starten: ```bash docker compose up --build -d ``` 3. Anwendung öffnen: - App: `http://localhost:8080` - phpMyAdmin: `http://localhost:8081` 4. Logs prüfen (optional): ```bash docker compose logs -f nginx php ``` ## Security Header in Dev Der lokale Nginx liefert bewusst dieselbe Security-Header-Baseline wie Produktion, mit einer Ausnahme: - Kein `Strict-Transport-Security` (HSTS) im Dev-HTTP-Setup. Aktive Header in Dev: - `X-Content-Type-Options: nosniff` - `X-Frame-Options: SAMEORIGIN` - `Referrer-Policy: strict-origin-when-cross-origin` - `Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=(), usb=()` - `X-Permitted-Cross-Domain-Policies: none` ## Nützliche Befehle Neustart: ```bash docker compose restart nginx php ``` Stoppen: ```bash docker compose down ``` Scheduler-Logs: ```bash docker compose logs -f scheduler ``` ## Häufige lokale Probleme - Änderungen werden nicht sichtbar: - `docker compose restart nginx php` - Datenbank startet nicht: - DB-Container-Logs prüfen: `docker compose logs -f db` - Port-Konflikt: - in `docker-compose.yml` lokale Port-Mappings anpassen