Use DDEV for local development
On this page
DDEV is an open-source tool for local development environments. It allows you to use Docker in your workflows while maintaining a GitOps workflow. You get fully containerized environments to run everything locally without having to install tools (including the Platform.sh CLI, PHP, and Composer) on your machine.
This guide assumes you have a project already running with Platform.sh and you have the code on your computer.
If you’re starting from scratch, first create a project from a PHP template.
Make sure your computer meets the system requirements for DDEV.
For the integration to run smoothly, you also need the following tools:
If you don’t have these already installed, use your normal package manager.
To install DDEV, follow the DDEV documentation for your operating system.
This installs the self-contained
ddev command-line interface (CLI).
For more information on
Get basic configuration set up for your project by running the following command:
If you started with a Drupal template, your repository already had DDEV configuration files. Otherwise, you have to answer a couple of questions about what your repository is so the correct files are added.
To connect DDEV with your Platform.sh account, use a Platform.sh API token.
First create an API token in the Console.
Then add the token to your DDEV configuration. You can do so globally (easiest for most people):
ddev config global --web-environment-add=PLATFORMSH_CLI_TOKEN=API_TOKEN
You can also add the token only to the project:
ddev config --web-environment-add=PLATFORMSH_CLI_TOKEN=API_TOKEN
The best way to connect your local DDEV to your Platform.sh project is through the Platform.sh DDEV add-on. To add it, run the following command:
ddev get ddev/ddev-platformsh
Answer the interactive prompts with your project ID and the name of the environment to pull data from.
With the add-on, you can now run
ddev platform <command> from your computer without needing to install the Platform.sh CLI.
To get your environment data (files, database), run the following command:
ddev pull platform
To skip pulling files, add
--skip-files to the command.
To skip pulling a database, add
--skip-db to the command.
Now your project is ready to run:
This runs all your hooks and builds your project like on Platform.sh.
The command returns the project URL
as well as a specific port on
To see your project running, open one of these URLs.
You’ve got a project running on a local web server. Now you can add customizations. For more ideas and options, see the DDEV documentation.
If your project requires environment variables for its hooks or runtime, add them to the project’s DDEV environment:
- VARIABLE_NAME: VALUE
To apply your changes, run the following command: