DDE (Drupal Docker Environment)
Docker and Docker Compose based environment for Drupal.
------------------------- IMPORTANT ANNOUNCEMENT -------------------------
As of October 24th 2016 this project is retired.
Existing users may continue using it as-is but are advised to switch to Docksal.
Docksal has lots of improvements, new features and less complex setup (no more Vagrant involved).
How to upgrade from Drude to Docksal
--------------------------------------------------------------------------
For a fully working example of DDE setup take a look at:
System requirements
Please review system requirements before proceeding with the setup.
Setup
-
This is done one time per host and should be performed by everyone.
-
Configure a project to use DDE
This is done one time per project and should be performed by the project TL.
Updates
Switch to your <projects>
folder and run:
dsh self-update
dsh update prerequisites
On Mac and Windows only (skip for Linux) also run:
dsh update boot2docker
Finally, you will probably need to re-initialize your environment with:
dsh init
DDE Shell Helper (dsh)
DDE shell helper is a console tool that simplifies day-to-day work with DDE. It provides a set of most commonly used commands and operations for controlling the Boot2docker VM, containers, running drush or other commands inside the cli container. (Note: dsh requires cli container to function properly)
See dsh help
for a complete list.
dsh
detects the environment it's launched in and will automatically start the boot2docker VM and launch containers as necessary.
It runs on Mac/Linux directly. On Windows dsh
runs inside the Babun Shell.
Console tools (cli)
The cli container is meant to serve as a single console to access all necessary command line tools.
You can access cli container's console with dsh
:
dsh bash
Tools available inside the cli container:
- php-cli, composer, drush[6,7,8], drupal console, phpcs, phpcbf
- ruby, bundler
- node, nvm, npm
- imagemagick
- python, git, mc, mysql-client and more
Instructions and tutorials
Advanced configuration
- Drupal settings
- Overriding default PHP/MySQL/etc. settings
- Running multiple projects
- DB sandbox mode
- MySQL DB access for external tools
- Extending dsh with custom commands
Third party utililies
- Debugging with Xdebug and PhpStorm
- Using PHP Code Sniffer (phpcs, phpcbf)
- Using Blackfire profiler
- Public access via ngrok
- Using Behat
- Sending and capturing e-mail
- Enabling Varnish support
- Enabling Apache Solr support
- Using Sass
- Using custom ssh keys (with or without passwords) via ssh-agent
Troubleshooting
See Troubleshooting section of the docs.