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

Note that this could also be used for ExpressJSopen in new window, Koaopen in new window, KeystoneJSopen in new window or any other MEANish project.

# Initialize a mean recipe for use with ghost
lando init --source cwd \
  --recipe mean \
  --option port=2368 \
  --option command="su - node -c '/var/www/.npm-global/bin/ghost run -d /app/src -D'" \
  --name meanest-app-youve-ever-seen

# Install ghost
lando ssh -c "npm install ghost-cli@latest -g && mkdir src && cd src && ghost install local --no-start --ip 0.0.0.0"

# Start it up
lando start

# List information about this app.
lando info

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/mean" line to install a particular version eg
# yarn add @lando/mean@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/mean --production --flat --no-default-rc --no-lockfile --link-duplicates \
  && yarn install --production --cwd /tmp/node_modules/@lando/mean \
  && mkdir -p /plugins/@lando \
  && mv --force /tmp/node_modules/@lando/mean /plugins/@lando/mean"

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

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