ddev
Create and manage local development environments
TLDR
Start up a project
Configure a project's type and docroot
Follow the log trail
Run composer within the container
Install a specific Node.js version
Export a database
Run a specific command within a container
SYNOPSIS
ddev <command> [global-options] [command-options] [arguments]
PARAMETERS
--all, -a
Operate on all projects in current directory
--debug
Enable debug mode (includes --trace)
--json
Output in JSON format instead of human-readable
--no-debug
Disable debug output
--trace
Print verbose debug traces
--version, -v
Show DDEV version
--help, -h
Display help for command
--web-image-extra
Additional web image packages (e.g., 'imagemagick')
DESCRIPTION
DDEV is a powerful command-line tool for managing local development environments using Docker. It simplifies setting up fully-featured PHP stacks for projects like Drupal, WordPress, TYPOX, Laravel, and more.
Key features include automatic configuration of web servers (Nginx/Apache), databases (MySQL/MariaDB/PostgreSQL), PHP versions, and tools like Composer, MailHog, and Xdebug. DDEV handles DNS resolution, HTTPS certificates, and port management, allowing developers to focus on coding rather than infrastructure.
With a single ddev start command, it spins up a complete environment tied to your project directory. Supports mutli-project workflows, snapshots for backups, database imports/exports, and SSH access. Ideal for teams, as configs are committed to git.
DDEV runs on Linux, macOS, and WSL2, requiring Docker or Podman. It's open-source, actively maintained, and extends easily via custom recipes.
CAVEATS
Requires Docker or Podman installed and running.
Rootless mode recommended on Linux.
Large projects may need increased Docker resources.
Not for production use.
COMMON SUBCOMMANDS
start - Launch project environment
stop - Stop and remove containers
restart - Restart environment
config - Configure project settings
ssh - Access project container shell
logs - View container logs
INSTALLATION ON LINUX
curl -fsSL https://raw.githubusercontent.com/ddev/ddev/master/scripts/install_ddev.sh | bash
Requires mkcert for HTTPS.
HISTORY
Created in 2017 by Randy Fay for Drupal development. Evolved from Docksal; now supports 20+ CMS/frameworks. Major v1.0 in 2020; v1.22+ adds Apple Silicon, PostgreSQL. Maintained by DDEV community under Apache 2.0.
SEE ALSO
docker(1), podman(1), docker-compose(1), composer(1)


