Zu Content springen

Effiziente Shopware-Entwicklung mit DDEV: Ein umfassender Leitfaden

Steven Wimmer | - Shopware
Effiziente Shopware-Entwicklung mit DDEV: Ein umfassender Leitfaden
12:23

Es ist Montagmorgen, 9:00 Uhr. Du öffnest deinen Laptop, um an dem neuen Shopware DDEV-Projekt weiterzuarbeiten. Normalerweise würdest du jetzt 15 Minuten damit verbringen, deine lokale Entwicklungsumgebung zu starten, verschiedene Services hochzufahren und zu hoffen, dass alles wie gestern funktioniert. Doch heute tippst du einfach `ddev start` in dein Terminal – und binnen Sekunden steht deine komplette Shopware-Entwicklungsumgebung bereit. Willkommen in der Welt von DDEV.

Was macht DDEV zur idealen Lösung für Shopware-Entwicklung?

DDEV ist weit mehr als nur ein weiteres lokales Entwicklungstool. Es ist eine durchdachte Docker-basierte Lösung, die speziell dafür entwickelt wurde, die Komplexität moderner Webentwicklung zu reduzieren. Während Docker selbst unglaublich mächtig ist, erfordert es oft tiefes technisches Verständnis und aufwendige Konfiguration. DDEV hingegen abstrahiert diese Komplexität und bietet dir sofort einsatzbereite Entwicklungsumgebungen.

Für Shopware-Entwickler bringt DDEV besondere Vorteile mit sich: Die Integration ist nahtlos, die Konfiguration erfolgt automatisch, und du erhältst eine Umgebung, die der Produktionsumgebung sehr nahe kommt – ohne stundenlange Setup-Prozesse.

Die Kernvorteile von DDEV im Überblick

Vorteil Beschreibung
Schneller Start Projekte sind in wenigen Sekunden einsatzbereit
Konsistente Umgebungen Identische Setups für alle Teammitglieder
Shopware-optimiert Vorkonfigurierte Templates speziell für Shopware
Integrierte Tools PHP, MySQL, Redis, Mailhog und mehr bereits enthalten
Einfache Verwaltung Intuitive Befehle für alle wichtigen Operationen

DDEV für Shopware einrichten: Schritt für Schritt

Voraussetzungen schaffen

Bevor du mit DDEV durchstartest, stelle sicher, dass Docker auf deinem System installiert ist. DDEV benötigt Docker als Grundlage – aber keine Sorge, du musst keine komplexen Docker-Konfigurationen erstellen.

Installation von DDEV

Die Installation variiert je nach Betriebssystem:

macOS (mit Homebrew):

brew install ddev/ddev/ddev

Windows:
Lade den Installer von der offiziellen DDEV-Website herunter und folge dem Setup-Assistenten.

Linux:

curl -fsSL https://apt.fury.io/drud/gpg.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/ddev.gpg > /dev/null
echo "deb [signed-by=/etc/apt/trusted.gpg.d/ddev.gpg] https://apt.fury.io/drud/ * *" | sudo tee /etc/apt/sources.list.d/ddev.list
sudo apt update && sudo apt install ddev

Dein erstes Shopware-Projekt mit DDEV

Nach der Installation erstellst du dein erstes Shopware-Projekt mit wenigen Befehlen:

mkdir mein-shopware-shop && cd mein-shopware-shop
ddev config --project-type=shopware6 --docroot=public
ddev start
ddev composer create-project shopware/production
ddev exec bin/console system:install --basic-setup
ddev launch

Diese wenigen Zeilen erstellen eine vollständige, funktionsfähige Shopware-Installation. DDEV kümmert sich automatisch um:

  • Die richtige PHP-Version
  • MySQL-Datenbank-Setup
  • Webserver-Konfiguration
  • Environment-Variablen für Shopware
  • SSL-Zertifikate für HTTPS-Entwicklung

Die DDEV-Konfiguration für Shopware optimieren

Grundkonfiguration anpassen

DDEV erstellt automatisch eine `.ddev/config.yaml`-Datei in deinem Projektverzeichnis. Für Shopware-Projekte empfiehlt sich folgende Optimierung:

name: mein-shopware-projekt
type: shopware6
php_version: "8.3"
database:
  type: mysql
  version: "8.0"
webserver_type: nginx-fpm
router_http_port: "80"
router_https_port: "443"
upload_dirs:
  - media
webimage_extra_packages:
  - php-redis
hooks:
  post-start:
    - exec: bin/console cache:clear --env=dev

Redis für bessere Performance

Shopware profitiert erheblich von Redis als Cache-System. Die Integration in DDEV ist denkbar einfach:

services:
  redis:
    image: redis:7
    ports:
      - "6379"

Ergänze deine `.env.local` um:

REDIS_URL=redis://redis:6379

Mailhog für E-Mail-Testing

Ein großer Vorteil von DDEV ist die integrierte Mailhog-Funktionalität. Alle E-Mails, die deine Shopware-Installation versendet, werden abgefangen und können über die Web-Oberfläche eingesehen werden. Das ist besonders nützlich für:

  • Bestellbestätigungen testen
  • Newsletter-Funktionalität prüfen
  • Passwort-Reset-E-Mails kontrollieren

Zugriff auf Mailhog erhältst du über `ddev describe` – die URL wird dir dort angezeigt.

Workflow-Optimierung mit DDEV-Befehlen

Die wichtigsten DDEV-Kommandos für Shopware

DDEV bietet eine Fülle von Befehlen, die deinen Entwicklungsalltag erheblich erleichtern:

Projektmanagement:

# Projekt starten
ddev start

# Projekt stoppen
ddev stop

# Projekt-Informationen anzeigen
ddev describe

# Projekt löschen (nur Container, Code bleibt erhalten)
ddev delete

Shopware-spezifische Befehle:

# Shopware-Konsole nutzen
ddev exec bin/console cache:clear

# Plugin installieren
ddev exec bin/console plugin:install MyPlugin

# Datenbank-Migration
ddev exec bin/console database:migrate

# Admin-User erstellen
ddev exec bin/console user:create admin

Datenbank-Operationen:

# Datenbank exportieren
ddev export-db --file=backup.sql.gz

# Datenbank importieren
ddev import-db --file=backup.sql.gz

# Direkte MySQL-Verbindung
ddev mysql

# Datenbank-Snapshot erstellen
ddev snapshot

Composer und Node.js Tools

DDEV bringt alle wichtigen Entwicklertools bereits mit:

# Composer-Befehle
ddev composer install
ddev composer require shopware/core

# Node.js und NPM
ddev npm install
ddev npx webpack

# Yarn Support
ddev yarn install
ddev yarn build

Digitale Darstellung von Datenblöcken über einem Arbeitsplatz mit Laptop und Analyse-Dashboard.

Erweiterte DDEV-Features für Shopware-Entwicklung

Xdebug-Integration

Debugging ist ein essentieller Teil der Entwicklung. DDEV macht die Xdebug-Konfiguration zum Kinderspiel:

# Xdebug aktivieren
ddev xdebug on

# Xdebug-Status prüfen
ddev xdebug status

# Xdebug deaktivieren
ddev xdebug off

Die IDE-Konfiguration erfolgt automatisch – du musst nur noch Breakpoints setzen und loslegen.

Profiling mit XHProf

Für Performance-Analysen bietet DDEV integrierte XHProf-Unterstützung:

ddev xhprof on
# ... Code ausführen ...
ddev xhprof off

Die Profiling-Ergebnisse sind über die DDEV-Web-Oberfläche abrufbar.

Multi-Site-Setup

DDEV eignet sich hervorragend für Projekte mit mehreren Sales Channels oder verschiedenen Umgebungen:

additional_hostnames:
  - shop-de.ddev.site
  - shop-en.ddev.site
  - b2b.ddev.site

Jede Domain kann unterschiedliche Shopware-Konfigurationen verwenden.

Vite und moderne Frontend-Entwicklung

Seit Shopware 6.7 nutzt das System Vite statt Webpack für die Frontend-Entwicklung. DDEV unterstützt dies nahtlos:

Vite-Konfiguration für DDEV

Erstelle eine `.ddev/config.vite.yaml`:

web_environment:
  - HOST=0.0.0.0
  - ADMIN_PORT=9997
  - PROXY_URL=${DDEV_PRIMARY_URL}:9998
web_extra_exposed_ports:
  - name: admin-proxy
    container_port: 9997
    https_port: 9997
  - name: storefront-proxy
    container_port: 9998
    https_port: 9998

Frontend-Entwicklung starten

# Administration Watcher
ddev exec bin/watch-administration.sh

# Storefront Watcher
ddev exec bin/watch-storefront.sh

Die Development-Server sind dann über `https://deinprojekt.ddev.site:9997` (Admin) und `https://deinprojekt.ddev.site:9998` (Storefront) erreichbar.

DDEV Addons für erweiterte Funktionalität

Das DDEV-Ökosystem bietet zahlreiche Addons, die speziell für E-Commerce-Entwicklung nützlich sind:

Elasticsearch für bessere Suche

ddev add-on get ddev/ddev-elasticsearch
ddev restart

Adminer für Datenbank-Management

ddev add-on get ddev/ddev-adminer

Solr für Enterprise-Suche

ddev add-on get ddev/ddev-solr

Performance-Optimierung und Best Practices

Ressourcen optimal nutzen

DDEV kann durchaus ressourcenhungrig sein. Hier einige Optimierungstipps:

Docker-Ressourcen anpassen:

  • Erhöhe den verfügbaren RAM für Docker (mindestens 4GB empfohlen)
  • SSD-Storage für bessere I/O-Performance

DDEV-spezifische Optimierungen:

# In .ddev/config.yaml
performance_mode: mutagen  # Für macOS

Projekt-Templates erstellen

Für wiederkehrende Setups kannst du eigene Projekt-Templates erstellen:

# Template-Verzeichnis erstellen
mkdir ~/.ddev/project-templates/shopware-custom

# Basis-Konfiguration kopieren
cp .ddev/config.yaml ~/.ddev/project-templates/shopware-custom/

# Template nutzen
ddev config --project-template=shopware-custom

Troubleshooting häufiger Probleme

Port-Konflikte beheben

Wenn Standard-Ports bereits belegt sind:

router_http_port: "8080"
router_https_port: "8443"

Speicherprobleme lösen

Bei großen Shopware-Installationen können Speicherprobleme auftreten:

webimage_extra_packages:
  - php8.3-dev
php_ini:
  memory_limit: "512M"
  max_execution_time: "300"

Datenbank-Performance verbessern

database:
  type: mysql
  version: "8.0"
mysql_options:
  innodb_buffer_pool_size: "512M"

Team-Entwicklung mit DDEV

Konsistente Umgebungen sicherstellen

DDEV brilliert in der Team-Entwicklung. Einige Best Practices:

Versionierung der Konfiguration:
Die `.ddev/`-Verzeichnisse gehören ins Git-Repository – so nutzen alle Teammitglieder identische Umgebungen.

Datenbank-Snapshots teilen:

# Snapshot erstellen
ddev snapshot --name=initial-data

# Snapshot teilen (über Cloud-Storage o.ä.)
# Snapshot importieren
ddev snapshot restore initial-data

Automatisierte Setups

Für neue Teammitglieder kannst du Setup-Skripte erstellen:

#!/bin/bash
# setup-project.sh
ddev start
ddev import-db --file=initial-data.sql.gz
ddev import-files --source=media-files.tar.gz
ddev exec bin/console cache:clear
ddev launch

Integration in CI/CD-Pipelines

DDEV eignet sich auch hervorragend für automatisierte Tests:

GitHub Actions Integration

name: Shopware Tests
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Setup DDEV
        uses: ddev/github-action-setup-ddev@v1
      - name: Start DDEV
        run: ddev start
      - name: Run Tests
        run: ddev exec vendor/bin/phpunit

DDEV vs. Alternative Lösungen

DDEV vs. XAMPP/WAMP

Feature DDEV XAMPP/WAMP
Isolation ✅ Vollständig ❌ System-global
Versionsverwaltung ✅ Beliebige Versionen ❌ Eine Version
Team-Konsistenz ✅ Identische Umgebungen ❌ Individuelle Setups
Production-Nähe ✅ Docker-basiert ❌ Windows/Mac-spezifisch

DDEV vs. Docker Compose

DDEV basiert auf Docker Compose, abstrahiert aber die Komplexität erheblich. Während Docker Compose maximale Flexibilität bietet, ermöglicht DDEV schnellere Entwicklungszyklen durch vorgefertigte Konfigurationen.

Ausblick: DDEV und die Zukunft der Shopware-Entwicklung

Die Entwicklung von DDEV schreitet rasant voran. Aktuelle Trends und kommende Features:

  • Cloud-Integration: DDEV Cloud für gehostete Entwicklungsumgebungen
  • GitHub Codespaces Support: Vollständige Browser-basierte Entwicklung
  • Kubernetes-Integration: Nahtloser Übergang von lokaler Entwicklung zur Container-Orchestrierung
  • AI-gestützte Optimierungen: Automatische Performance-Tuning basierend auf Projektanforderungen

Shopware-spezifische Entwicklungen

Die Shopware-Community arbeitet aktiv an DDEV-Integrationen:

  • Vorgefertigte Plugin-Entwicklungsumgebungen
  • Automatische Store-API-Konfiguration
  • Integration mit Shopware CLI-Tools

Maximiere deine Entwicklungseffizienz mit DDEV

DDEV transformiert die Art, wie du Shopware-Projekte entwickelst. Statt Zeit mit Umgebungs-Setup zu verschwenden, konzentrierst du dich auf das, was wirklich zählt: innovative E-Commerce-Lösungen zu schaffen.

Die Kombination aus sofortiger Einsatzbereitschaft, konsistenten Umgebungen und mächtigen Entwicklertools macht DDEV zur ersten Wahl für moderne Shopware-Entwicklung. Egal ob du Plugins entwickelst, Themes erstellst oder komplexe B2B-Lösungen baust – DDEV bietet die stabile Grundlage, die du brauchst.

Starte noch heute mit DDEV und erlebe, wie viel produktiver Shopware-Entwicklung sein kann. Dein zukünftiges Ich wird dir dafür danken, wenn du morgens mit einem einfachen `ddev start` sofort loslegen kannst, anstatt erst einmal 15 Minuten mit der Umgebung zu kämpfen.

Die Investition in DDEV ist eine Investition in deine Produktivität – und in die Qualität deiner Shopware-Projekte.

Diesen Beitrag teilen