This template includes everything necessary to run on Lagoon (in both the local development environments or on hosted Lagoon clusters.)
This project template should provide a kickstart for managing your site dependencies with Composer. It is based on the original Drupal Composer Template,
This example contains the following services:
To see similar projects with additional services, please visit https://github.com/lagoon-examples and to find out more about the services, please visit the documentation at https://docs.lagoon.sh/lagoon
OR
Checkout this project repo and confirm the path is in Docker's file sharing config - https://docs.docker.com/docker-for-mac/#file-sharing
git clone https://github.com/lagoon-examples/drupal-base.git drupal-base && cd $_
Make sure you don't have anything running on port 80 on the host machine (like a web server) then run pygmy-go up
Build and start the build images:
docker-compose up -d
docker-compose exec cli composer install
Visit the new site @ http://drupal-base.docker.amazee.io
This repository is set up with a .lando.yml
file, which allows you to use Lando instead of pygmy for your local development environment.
Checkout the project repo and confirm the path is in Docker's file sharing config - https://docs.docker.com/docker-for-mac/#file-sharing
git clone https://github.com/lagoon-examples/drupal-base.git drupal-base && cd $_
Make sure you have pygmy-go stopped. Run pygmy stop
to be sure.
We already have a Lando file in this repository, so we just need to run the following command to get Lando up:
lando start
Install your Drupal site with Drush:
lando drush si -y
Visit the new site @ http://drupal-base.lndo.site
For more information on how to configure your site, check out the documentation.
When installing the given composer.json
some tasks are taken care of:
web
-directory.vendor/autoload.php
,
instead of the one provided by Drupal (web/vendor/autoload.php
).drupal-module
) will be placed in web/modules/contrib/
drupal-theme
) will be placed in web/themes/contrib/
drupal-profile
) will be placed in web/profiles/contrib/
web/sites/default/files
-directory.vendor/bin/drush
.vendor/bin/drupal
.assets/
directory in this repo. For more information see drupal/core-composer-scaffoldFollow the steps below to update your core files. Scaffolding is managed by Drupal core. See the assets/
directory for more information.
composer update drupal/core-recommended drupal/core-dev-pinned --with-dependencies
Composer recommends no. They provide argumentation against but also workarounds if a project decides to do it anyway.
If you need to apply patches (depending on the project being modified, a pull request is often a better solution), you can do so with the composer-patches plugin.
To add a patch to drupal module foobar insert the patches section in the extra section of composer.json:
"extra": {
"patches": {
"drupal/foobar": {
"Patch description": "URL to patch"
}
}
}
These files are used by Github actions to run a basic suite of tests specific to this template. They utilise the excellent Leia tool to generate a set of mocha-compatible tests. Have a look through the markdown for both files, and you will see what they do. These tests can also be generated and run locally.