1. Warum Docker & DDEV?
Vorteile von Docker in der Webentwicklung:
- Isolation: Jede Anwendung läuft in ihrem Container – keine Konflikte zwischen Projekten.
- Reproduzierbarkeit: 'It works on my machine' gehört der Vergangenheit an.
- Flexibilität: Einfach PHP-Version wechseln, Datenbanken austauschen, Services hinzufügen.
- Teamarbeit: Alle Entwickler nutzen die gleiche Umgebung, unabhängig von Betriebssystem.
- CI/CD-ready: Container lassen sich direkt in automatisierte Pipelines integrieren.
Warum DDEV statt 'pures Docker'?
- Weniger Konfigurationsaufwand: ddev start statt seitenlanger docker-compose.yml.
- CMS-optimiert: DDEV kennt TYPO3, Drupal, WordPress usw.
- Komfortfunktionen: Snapshots, Mailcatcher, HTTPS-Zertifikate, Xdebug, Performance-Tuning.
- Dokumentiert und gepflegt von einer aktiven Community.
2. Installation von DDEV
Voraussetzungen:
- Docker Desktop für macOS/Windows oder Docker Engine für Linux.
- Ein Paketmanager: brew (macOS) oder apt/dnf (Linux).
6. Vorbereitung für Live-Gang (Deployment)
DDEV ist nur für die lokale Entwicklung gedacht – nicht für die Live-Umgebung.
Typischer Workflow:
1. Lokale Entwicklung mit DDEV.
2. Änderungen via Git pushen.
3. Deployment auf Server (z. B. mit Deployer, GitHub Actions, GitLab CI/CD).
4. Produktive Umgebung (PHP-FPM + Nginx/Apache + DB).
Daten übernehmen:
DB exportieren: ddev export-db --file=db.sql.gz
Files exportieren (fileadmin, uploads, ext) und übertragen.
7. Dokumentation & Ressourcen
- Offizielle DDEV-Doku: ddev.readthedocs.io
- TYPO3 + DDEV Guide: docs.typo3.org/m/typo3/tutorial-getting-started/main/en-us/Installation/UsingDdev.html
- DDEV Blog: ddev.com/blog
- TYPO3 Contribution Workflow mit DDEV: docs.typo3.org/m/typo3/guide-contributionworkflow
Fazit
Mit DDEV + Docker erhält man:
- Schnell startklare TYPO3-Umgebungen
- Identische Konfiguration für alle im Team
- Hohe Performance (Mutagen)
- Eingebaute Developer-Features: Mailcatcher, HTTPS, Snapshots, Xdebug
- Klare Trennung von Entwicklung und Livebetrieb
Kurz gesagt: DDEV ist cool und lohnt sich für jedes TYPO3-Projekt!