TYPO3-Entwicklung mit DDEV und Docker – Der ultimative Leitfaden

Einleitung

Lokale Entwicklungsumgebungen waren früher oft mühsam: XAMPP, MAMP, Vagrant oder selbstkonfigurierte Docker-Setups mussten gepflegt werden. Mit DDEV gibt es eine moderne Lösung, die speziell für Webentwicklung und CMS-Systeme wie TYPO3 entwickelt wurde.

DDEV baut auf Docker auf, bringt aber eine einfache CLI, sinnvolle Voreinstellungen und viele Komfortfunktionen. So wird die Entwicklung schneller, stabiler und im Team konsistenter.

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). 

Installation von DDEV:
macOS:

                            brew install ddev/ddev/ddev
                        

Linux:

                            sudo apt-get update
sudo apt-get install libnss3-tools
curl -fsSL https://webinstall.dev/ddev | bash
                        

Windows:

                            choco install ddev
                        

Überprüfen:

                            ddev version
                        

3. Neues TYPO3-Projekt mit DDEV starten

Projekt anlegen:

                            mkdir my-typo3 && cd my-typo3
ddev config --project-type=typo3 --docroot=public --php-version=8.2
ddev start
                        

TYPO3 installieren:

                            ddev composer create "typo3/cms-base-distribution:^12"
ddev exec ./vendor/bin/typo3 setup


                        

Danach

                            https://my-typo3.ddev.site
                        

4. TYPO3 mit bestehenden Projekten nutzen

Repository klonen:

                            ddev config
                        

Datenbank importieren:

                            ddev import-db --src=backup.sql.gz
                        

Files importieren:

                            ddev import-files --src=./fileadmin
                        

5. Arbeiten im Alltag

Shell starten:

                            ddev ssh
                        

PHP-Version wechseln:

                            ddev config --php-version=8.1
ddev restart
                        

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!

TYPO3 Tools