This project demonstrates a complete Drupal 9 development environment, utilizing ddev and Gitpod, through your browser.
Watch a 5 minutes walkthrough video:
- Click on the following link https://gitpod.io/#https://github.com/shaal/ddev-gitpod
- Your environment is being prepared, wait about 40 seconds (A splash screen will appear)
- VScode (or Theia) IDE will be displayed.
- Note that one terminal is running
sudo docker-up, and another terminal in parallel is runningddev start - Find your website's URL
gp url 8080 - Open your website's URL in a browser, you should see Drupal's installation screen.
- Run in terminal
ddev drush si demo_umami -y - Open your website's URL in a browser, you should see Drupal's Umami demo.
- Run in terminal
ddev xdebug on - Open VScode's debugger, place a new breakpoint in
web/index.php - Open your website's URL in a browser.
- 🎉
- Open a bash window at the bottom
.ddev/run-phpstorm.sh- When it shows you port 9999 is up, click the link and use PhpStorm with this repo.
- Gitpod - development environment based on Docker
- .gitpod.yml
- Defines the main docker image this environment is built on -
.gitpod.Dockerfile - Run initial commands using 3 terminals in parallel:
gitpod-setup-ddev.shcomposer installsudo docker-up
- Defines the main docker image this environment is built on -
- .gitpod.Dockerfile
- Set base image to Gitpod's
workspace-full(link) - Install ddev using brew
- Set base image to Gitpod's
- .gitpod.yml
- ddev - ridiculously simple setup for complex development environments
- .ddev/config.yaml - main ddev (default) configuration, can be generated by running
ddev config - .ddev/gitpod-setup-ddev.sh - generate config overrides for ddev to work in the Gitpod environment.
- Delete any existing Docker images and containers (due to Gitpod bug, that cause issues when restarting a workspace)
- Set certain ports to public, following Gitpod's syntax
[port]-[workspace-url]8080- Drupal Website8025- Mailhog8036- PHPmyadmin
- Set
host.docker.internalwith the correct value of gitpod's host ip - Starts ddev
- .ddev/config.yaml - main ddev (default) configuration, can be generated by running
@rfay for your endless patience and relentless support that made this project possible.
- Gitpod backs up the state of the
/workspace/folder between workspace starts, so that you can revisit them later. Attention: Files in other locations will not be saved! - Additional Storage Solutions
