Why use ddev?¶
When it comes to setting up and running a Shopware project locally, there's no shortage of good options — not least Shopware's own shopware-cli, which keeps gaining project setup and management features. Shopware's goal is clearly to make shopware-cli the one-stop tool for Shopware development. So why might you still want to reach for ddev?
It helps to look at this from two perspectives: the individual developer/freelancer, and the team/agency.
Developers' benefits¶
- Easy to install — The only requirements are git, Docker and ddev. On macOS, "Docker" can simply be OrbStack, and ddev is a small Go app installed with a single install script.
- Keeps your machine clean — Project dependencies such as PHP, MySQL and Node.js stay where they belong: inside the project, not scattered across your system.
- Easy to set up — A fresh Shopware install takes just two commands,
composer create-projectandbin/console system:install— or, shorter still, a single copy-and-paste install script. - Excellent performance — Built on Docker (OrbStack on macOS), with performance tooling such as Mutagen built in.
- Project isolation — Freelancers often juggle several client projects at once. With ddev, each project runs in its own fully isolated environment by default — no fiddly trial-and-error with port numbers.
Agencies' benefits¶
- Low barrier to entry, fast onboarding — There's very little a team member needs to know beyond
ddev startandddev stop, all covered by the community-maintained documentation. Getting onto an existing project is justgit cloneandddev start; built-in commands likeddev pull remote-dbfetch what isn't in the repo, and an nginx reverse proxy loads and caches production media on the fly — no need to sync gigabytes of files to every machine. - Consistent, reproducible environments — Every detail of the setup is committed to the project repository, so every change is clearly documented and versioned. No more drifting PHP or Node.js versions between team members.
- Simple by default, yet able to mirror production — ddev strikes a good balance: trivial to run for a basic project, but ready to reproduce a complex production stack locally when you need to. Extra services such as Redis, RabbitMQ, Elasticsearch/OpenSearch and more are a few lines of config or a ready-made add-on away, so your local environment matches production instead of merely approximating it.