ddev Documentation

ddev is an open source tool that makes it dead simple to get local PHP development environments up and running within minutes. It's powerful and flexible as a result of its per-project environment configurations, which can be extended, version controlled, and shared. In short, ddev aims to allow development teams to use Docker in their workflow without the complexities of bespoke configuration.

System Requirements

  • Docker version 18.06 or higher. Linux users make sure you upgrade docker-compose and do the post-install steps
  • docker-compose 1.21.0 and higher (bundled with Docker in Docker Desktop for Mac and Docker Desktop for Windows)
  • OS Support
  • macOS Sierra and higher (macOS 10.12 and higher; it should run anywhere Docker Desktop for Mac runs.
  • Linux: Most Linux distributions which can run Docker-ce are fine. This includes at least Ubuntu 14.04+, Debian Jessie+, Fedora 25+. Make sure to follow the docker-ce post-install steps
  • Windows 10 Pro or Enterprise with Docker Desktop for Windows
  • Windows 10 Home (or other Windows version) with Docker Toolbox

Using ddev with other development environments

ddev by default uses ports 80 and 443 on your system when projects are running. If you are using another local development environment you can either stop the other environment or configure ddev to use different ports. See troubleshooting for more detailed problemsolving.

Installation

When upgrading, please check the release notes for actions you might need to take on each project.

Docker Installation

Docker and docker-compose are required before anything will work with ddev. This is pretty easy on most environments, but we have a docker_installation page to help sort out the nuances, especially on Windows and Linux.

Homebrew/Linuxbrew - macOS/Linux

For macOS and Linux users, we recommend installing and upgrading via homebrew (macOS) or Homebrew on Linux (Linux):

brew tap drud/ddev && brew install ddev

If you would like more frequent "edge" releases then use brew tap drud/ddev-edge instead.

(Optional) As a one-time initialization, run mkcert -install. Linux users may have to take additional actions as discussed below in "Linux mkcert -install additional instructions".

Later, to upgrade to a newer version of ddev, run:

brew upgrade ddev

Installation or Upgrade - Windows

  • A windows installer is provided in each ddev release (ddev_windows_installer.<version>.exe). Run that and it will do the full installation for you. Open a new terminal or cmd window and start using ddev.
  • If you use chocolatey (highly recommended), then you can just choco install ddev from an administrative-privileged shell. Upgrades are just choco upgrade ddev.
  • (Optional) As a one-time initialization, run mkcert -install

Installation/Upgrade Script - Linux and macOS

Linux and macOS end-users can use this line of code to your terminal to download, verify, and install (or upgrade) ddev using our install script:

curl -L https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh | bash
  • (Optional) As a one-time initialization, run mkcert -install, which may require your sudo password. Linux users may have to take additional actions as discussed below in "Linux mkcert -install additional instructions".

Later, to upgrade ddev to the latest version, just run this again.

Manual Installation or Upgrade - Linux and macOS

You can also easily perform the installation or upgrade manually if preferred. ddev is just a single executable, no special installation is actually required, so for all operating systems, the installation is just copying ddev into place where it's in the system path.

  • Download and extract the latest ddev release for your architecture.
  • Move ddev to /usr/local/bin: mv ddev /usr/local/bin/ (may require sudo), or another directory in your $PATH as preferred.
  • Run ddev to test your installation. You should see ddev's command usage output.
  • (Optional) As a one-time initialization, run mkcert -install, which may require your sudo password. Linux users may have to take additional actions as discussed below in "Linux mkcert -install additional instructions

Installation via package managers - Linux

The preferred Linux package manager is Linuxbrew : brew tap drud/ddev && brew install ddev

We also currently maintain a package on Arch Linux (AUR)

(Optional) As a one-time initialization, run mkcert -install, which may require your sudo password. See below for additional information.

Linux mkcert -install additional instructions

The mkcert -install step on Linux may provide you with additional instructions.

On variants of Linux you may be prompted for additional package installation to get certutil installed, but you can follow the instructions given by mkcert:

$ mkcert -install

Created a new local CA at "/home/username/.local/share/mkcert"  Installing to the system store is not yet supported on this Linux  but Firefox and/or Chrome/Chromium will still work.

You can also manually install the root certificate at "/home/username/.local/share/mkcert/rootCA.pem".

Warning: "certutil" is not available, so the CA can't be automatically installed in Firefox and/or Chrome/Chromium! ⚠️

Install "certutil" with "apt install libnss3-tools" or "yum install nss-tools" and re-run "mkcert -install" 

(Note the prompt Installing to the system store is not yet supported on this Linux, which can be a simple result of not having /usr/sbin in the path so that /usr/sbin/update-ca-certificates can be found.)

Uninstallation

For instructions to uninstall DDEV-Local see Uninstallation.

Support

We love to hear from our users and help them be successful with ddev. Support options include: - ddev Documentation - ddev StackOverflow for support and frequently asked questions. We respond quite quickly here and the results provide quite a library of user-curated solutions. - ddev issue queue for bugs and feature requests - The #ddev channel in Drupal Slack and TYPO3 Slack for interactive, immediate community support