As someone who frequently builds POCs and demos with Drupal, I’ve spent plenty of time spinning up local environments. A while back, I switched to DDEV as my go-to local dev tool after hearing great things—and it quickly became a core part of my workflow. It's fast, reliable, and makes managing Drupal projects a whole lot easier.
In this post, I’ll walk you through how I set up a fresh local Drupal site using DDEV. Whether you're new to DDEV or just looking to streamline your Drupal dev setup, these steps will get you up and running in no time.
Prerequisites
Before you begin, you'll need to have DDEV (and Colima) installed. You can follow the official instructions here:
👉 Get Started with DDEV
💡 Note: While DDEV recommends Orbstack as a Docker provider on macOS, I use Colima instead—it’s free, open source, and easy to set up.
Step-by-Step Setup
Once DDEV is installed and your Docker provider is running, here’s how I spin up a new Drupal environment:
Create a new project directory
mkdir my-drupal10-site
Then jump into that directory
cd my-drupal10-site
Configure DDEV for a Drupal 11 project
ddev config --project-type=drupal11 --docroot=web --create-docroot
Start the DDEV containers
ddev start
Create the Drupal project using Composer
ddev composer create drupal/recommended-project
Add Drush for command-line tooling
ddev composer require drush/drush
💡 Note: Sometimes I will run the above three commands at once with the following
ddev start && ddev composer create drupal/recommended-project && ddev composer require drush/drush
Install the Drupal site with admin credentials
ddev drush site:install --account-name=admin --account-pass=admin -y
Get a one-time login link (Optional)
ddev drush uli
Launch the site in your browser
ddev launch
And that’s it! In just a few commands, you’ll have a fully working local Drupal site.
Why I Like This Setup
There are a lot of reasons DDEV has become my go-to for local Drupal development:
- Self-contained tooling: Composer, Drush, and other essential tools run inside the container—so there’s no need to clutter your host machine with global installs.
- Environment mirroring: You can easily spin up supporting services like a headless front end, Redis, or Solr to replicate your production stack locally.
- Hosting integration: DDEV includes built-in support for common hosting platforms. I use Pantheon, and with just a few commands, I can pull down databases and files from my live sites.
- Effortless backups and refreshes: Whether you’re snapshotting your local database or refreshing your environment with new data, DDEV makes it simple. Snapshots are especially handy when testing config changes or migrations.
- Developer-friendly experience: From custom commands to flexible add-ons, DDEV keeps your workflow clean, efficient, and consistent across teams and projects.
Wrapping Up
If you haven’t tried DDEV for your Drupal projects yet, I highly recommend giving it a shot. It takes the pain out of managing local environments and just works—whether you’re building a quick proof of concept or a large-scale enterprise site.
Got questions or a different setup you love? Let me know!
💡 Note: ChatGPT was used to assist in the writing of this article. Its contents have been vetted by me and the thoughts, statements, facts and figures within are my own. Thanks for reading!