Getting Started

Requirements

Before you get started with this recipe we assume that you have:

  1. Installed Lando and gotten familiar with its basics
  2. Initialized a Landofile for your codebase for use with this recipe
  3. Read about the various services, tooling, events and routing Lando offers.

Quick Start

Try out the relevant commands below to spin up a new Landoified vanilla Drupal site.

# Initialize a drupal9 recipe
mkdir my-first-drupal9-app \
  && cd my-first-drupal9-app \
  && lando init \
    --source cwd \
    --recipe drupal9 \
    --webroot web \
    --name my-first-drupal9-app
    
# Create latest drupal9 project via composer
lando composer create-project drupal/recommended-project:9.x tmp && cp -r tmp/. . && rm -rf tmp

# Start it up
lando start

# Install a site local drush
lando composer require drush/drush

# Install drupal
lando drush site:install --db-url=mysql://drupal9:drupal9@database/drupal9 -y

# List information about this app
lando info
# Initialize a drupal10 recipe
mkdir my-first-drupal10-app \
  && cd my-first-drupal10-app \
  && lando init \
    --source cwd \
    --recipe drupal10 \
    --webroot web \
    --name my-first-drupal10-app
    
# Create latest drupal10 project via composer
lando composer create-project drupal/recommended-project:10.0.x-dev@dev tmp && cp -r tmp/. . && rm -rf tmp

# Start it up
lando start

# Install a site local drush
lando composer require drush/drush

# Install drupal
lando drush site:install --db-url=mysql://drupal10:drupal10@database/drupal10 -y

# List information about this app
lando info

Or Landoify an existing Drupal site:

cd /path/to/my/repo
lando init --source cwd --recipe drupal9

If you are interested in EOL Drupal versions then check out our legacy docs.

Custom Installation

This plugin is included with Lando by default. That means if you have Lando version 3.0.8 or higher then this plugin is already installed!

However if you would like to manually install the plugin, update it to the bleeding edge or install a particular version then use the below. Note that this installation method requires Lando 3.5.0+.

# Ensure you have a global plugins directory
mkdir -p ~/.lando/plugins

# Install plugin
# NOTE: Modify the "yarn add @lando/drupal" line to install a particular version eg
# yarn add @lando/platform@0.5.2
docker run --rm -it -v ${HOME}/.lando/plugins:/plugins -w /tmp node:14-alpine sh -c \
  "yarn init -y \
  && yarn add @lando/drupal --production --flat --no-default-rc --no-lockfile --link-duplicates \
  && yarn install --production --cwd /tmp/node_modules/@lando/drupal \
  && mkdir -p /plugins/@lando \
  && mv --force /tmp/node_modules/@lando/drupal /plugins/@lando/drupal"

# Rebuild the plugin cache
lando --clear
# @TODO
# @NOTE: This doesn't actually work yet
hyperdrive install @lando/drupal

You should be able to verify the plugin is installed by running lando config --path plugins and checking for @lando/drupal. This command will also show you where the plugin is being loaded from.