Get Started with DDEV

Ready to get started? Follow this guide to create local PHP web development environments quickly with DDEV.

Step 1. Install DDEV-Local

First, install or update the requirements, such as Docker and Docker Compose.

Next, follow the instructions to install DDEV-Local for your operating system.

For macOS users, we recommend downloading, installing, and upgrading via Homebrew.

brew tap drud/ddev && brew install ddev

To see which ddev commands are available, check the manual pages: ddev or

ddev -h

Tip: If you’re already running a webserver on port 80, follow troubleshooting steps to resolve port conflicts.

Step 2. First-time project setup

Check out the existing site repository to a local directory. This is the project directory.

Set up a project for the first time with ddev config. You only need to do this once per project. To set up a new project, answer three questions:

  • What’s site name?
  • What’s the location of the docroot?
  • What type of project is it? Such as Drupal, PHP, WordPress, etc.

Follow the configuration examples for the CMS you’re working within the Quickstart Guides in the documentation.

Drupal 6/7 Drupal 8 TYPO3 CMS Backdrop WordPress

Depending on the CMS, and whether the project is a brand new site or an existing one, DDEV-Local attempts to make the CMS-specific settings files.

If you’re working with an existing project follow the steps to import the database. Then, run ddev describe to get the database credentials for the project.

This was a one-time configuration, and configuration files were created for the project. Take a look at the project’s .ddev/ddev.yaml file.

Step 3. Use DDEV-Local everyday

To see a list of the current DDEV projects type ddev list. The terminal will display what projects are configured, their status, and a link to access each project.

Start your project

Each time you want to work on a project run ddev start from the project directory. Or, to start any project, from anywhere, run:

ddev start projectname

It’s the same with other DDEV CLI commands. Run them directly from within the project (docroot), or specify the project name from anywhere.

Done working? Remove the container.

When you’re done with your tasks, remove the project while maintaining the database and keeping the state of the project intact without using up resources:

ddev remove

Because ddev remove is not destructive (it maintains the database) it makes starting up next time much easier. So that means, to start this project type ddev start projectname, or cd into the project directory and typeddev start.

If you do need to wipe out the database, add a flag to remove the database with

ddev remove --remove-data

Step 4. Stay up-to-date

From this point on, when you need to update DDEV-Local follow the instructions under the installation guide. For macOS users using Homebrew, type:

brew upgrade ddev

When you start up DDEV, we’ll notify you about new releases, but please do sign up to our mailing list for release news.

Join Newsletter

Join the DDEV Community

DDEV is an open source project, with a growing community.

We support DDEV-Local on Stack Overflow too, just search for DDEV (or questions tagged ddev) there.

Come talk to us on the #ddev channel in the Drupal Slack team.

Find a bug? Have a feature proposal? Visit the issue queue on GitHub.