# LakeDropsDrupalDev - L3D Provides fully configured Docker images for local Drupal development where your local host requires nothing else than Docker being installed but no PHP, Composer or any other tool on this planet. It simply works. ## Prerequisites Nothing else than docker and this [script](https://gitlab.lakedrops.com/docker/l3d/raw/master/l3d) being installed on your host. You don't need any other tool - none! Ideally you download that script and copy that to a directory in your search path (e.g. `/usr/local/bin`), then it will be available for all your Drupal projects. You can execute the following commands: ```bash sudo wget -O /usr/local/bin/l3d https://gitlab.lakedrops.com/docker/l3d/raw/master/l3d sudo chmod +x /usr/local/bin/l3d ``` ## Quick start Go to the project root for which you want to use **L3D** and execute the downloaded script (simply type `l3d` at the command prompt). It will ask you for the PHP version to be used (input `7.0`, `7.1` or `7.2`) and it will download the matching L3D image and start a container for you. ## Usage Inside the container you'll find the directory `/drupal` which contains everything from your project's root. You can work from there by using these available tools: | Tool | Command | Shortcut | | --- | --- | --- | | Ahoy | `ahoy` | `a` | | Composer | `composer` | `c` | | Docker | `docker` | | | Docker Composer | `docker-compose` | `d-c` | | DorgFlow | `dorgflow` | | | Drush | `drush` | `d` | ## Update the image When starting **L3D** with the script this will simply re-use the latest available image in your local docker environment. To force your docker to download the latest version of an image you can use `l3d update` which will also start the working container for you but check for an updated version of the image first. ## Update the start script Just call `l3d selfupdate` and the start script will be updated from the original repository. ## Working with Git credentials In order to commit and push with git you have to at least configure your email address and username for the git client. If you configure those globally on your host, each of the **L3D** containers will inherit those settings and there is nothing that needs to be done inside the container. To configure those credentials, use these commands: ```bash git config --global user.email "you@example.com" git config --global user.name "Your Name" ``` ## Getting help Calling `l3d help` displays information about **L3D** and provides a link to further details. ## Examples ### Start a new project ```bash cd /var/www mkdir testproject1 cd testproject1 l3d wget https://gitlab.lakedrops.com/composer/project/drupal-8/raw/master/.gitignore wget https://gitlab.lakedrops.com/composer/project/drupal-8/raw/master/composer.json composer create-project --no-interaction ahoy d4d up ``` ### Use with an existing project ```bash cd /path/to/your/project l3d composer update ```