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.sh
composer install
sudo 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.internal
with 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