ddev-contrib
Tools
PHP
ddev-contrib: Contrib for DDEV
Contrib space for DDEV services, tools, snippets, and approaches.
config.yaml hook examples
- Import a SQL dump if database is empty
docker-compose.*.yaml snippets to solve simple problems
Don’t forget the Official documentation.
- Mounting a directory into web container
- Setting an environment variable
- Communication between two DDEV projects
- Set default language (or other settings) in phpmyadmin
Custom command examples
DDEV’s custom commands are a great way to add team-level or project-level commands. They’re simple scripts that can be run in any of the containers or on the host. Note that several examples are already shipped with DDEV, you’ll find them in .ddev/commands//.example, and then can be enabled by symlinking or copying.)
- Dump and deploy SQL from/to remote servers
- Fetch Production DB from remote server
- Exclude DDEV directory from git: git-exclude
- Enable and view MySQL/MariaDB GENERAL_LOG
- inotify-proxy to enable file watchers on NFS shares
- Executing Symfony console and phpunit commands without ssh
- Build Drupal theme assets with Gulp — with minor modifications, this approach will work for other frameworks (WordPress, etc.) and other front-end build tools.
-
Run Laravel
tinker
or Drupal’sdrush php
with a single command - Stop all running projects except the current
- Dynamically enable / disable a service
- Automatically open browser and login to Drupal
.yaml
Additional services added via docker-compose.General information on how to do additional services and some additional examples are in the docs.
- Behat, Selenium, Drupal 8/9
- DrupalCI with Headless Chrome and Behat. This example uses Drupal’s DrupalCI approach, supports Behat, DrupalCI, etc.
- Elasticsearch (deprecated – see github.com/drud/ddev-elasticsearch)
- Elastichq
- Headless Chrome for Behat Testing
- Kibana
- Meilisearch
- MongoDB
- Old PHP Versions to run old sites
- PHP 8.2
- Portainer Service for DDEV
- PostgreSQL (deprecated in favor of official support)
- RabbitMQ
- redis (deprecated in favor of github.com/drud/ddev-redis)
- redis-commander (deprecated in favor of github.com/ddev-redis-commander)
- Solr Integration (Drupal-focused)
- Solr 4 Integration (Drupal-focused)
- Solr 5 Integration (Drupal-focused)
- Solr 7 Integration (Drupal-focused)
- Solr Integration (TYPO3-focused)
- SQL Server (Microsoft)
- Varnish
.ddev/web-build/Dockerfile examples to customize web container
- Laravel Queue-Worker (This is also a good example of adding an additional process to supervisord,)
- Stripe CLI (This is also a good example of adding any non-standard Debian repository.)
- gRPC (This is also a good example of adding a pecl module that is not supported via apt-get.)
Full recipes
-
Using DDEV with a corporate (or other) web proxy (obsolete – use
ddev get drud/ddev-proxy-support
) - enable TYPO3 cronjob on start or on demand (typo3 scheduler:run)
- Setting up Drupal 8 multisite, including Drush support
- Bludit CMS
- Drupal 7 in a Subfolder of Main Site
- Flexitype CMS
- Laravel Horizon
- REDAXO CMS
- SSH Server: Adding a “real” sshd server in web container
- Puppeteer Headless Chrome support
- PHPCS Git hook without PHP on the host machine