> For the complete documentation index, see [llms.txt](https://docs.boston.gov/digital/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.boston.gov/digital/guides/drupal-8/custom-development-and-configuration/onboarding/to-be-sorted/installation-instructions.md).

# Installation instructions

Creates a drupal 8 container, mysql container and node container, and connects them all up.

## Quick install guide

For more detailed install and usage instructions for various platforms, see "**More Help**" below.&#x20;

Ensure you have set up your development environment as described here:

{% content-ref url="/pages/-LViW2tpUZUaas5Z3SxG" %}
[Development environment](/digital/guides/drupal-8/custom-development-and-configuration/onboarding/to-be-sorted/development-environment.md)
{% endcontent-ref %}

1. Clone the public [boston.gov-d8 repo](https://github.com/CityOfBoston/boston.gov-d8) into a local folder\
   `git clone -b <branchname> git@github.com:CityOfBoston/boston.gov-d8.git`\
   *(City of Boston DoIT recommends that the **develop** branch be used)*<br>
2. On host computer, change directory to the repository root and use lando to create and start containers:\
   `lando start`

{% content-ref url="/pages/-LwEQsOGVGv-Vs5BnGpF" %}
[Typical build output](/digital/guides/drupal-8/custom-development-and-configuration/onboarding/to-be-sorted/installation-instructions/typical-build-output.md)
{% endcontent-ref %}

{% hint style="info" %}
Depending on the power of the host machine, the Drupal 8 build process for boston.gov can take more than 15-20 minutes.  The composer install and site install (esp. config import) tasks can take 5-10 minutes each - with no updates being directed to the console.

-> You can follow the process by inspecting the log files in `docroot/setup/`there are links to these files in the console.
{% endhint %}

{% hint style="success" %}
From the repository root (on host):&#x20;

* to view a list of available **lando** commands:`lando`
* to view **phing** tasks: `lando phing -l`
* to run **drush** commands:`lando drush <command>`
* `lando ssh`to login to docker container as `www-data`
* `lando ssh -user=root` to ssh and login as root
* `lando ssh <servicename>` servicename = appserver / database / node
  {% endhint %}

## **Pro-tips**

### **Linux aliases**

To reduce typing at the console, you can add the following aliases to your `~/bashrc`, `~/.bash_aliases` or `~/.bash_profile` files on your development (host) OS.

```bash
alias ldrush='lando drush'
alias lssh='lando ssh'
alias lsshroot='lando ssh --user=root'
alias lphing='lando phing'
alias lcomposer='lando composer'
alias lnpm='lando npm'
alias ldrupal='lando drupal'
function lls() {
  lando ssh -c "ls -la $1"
}
```

With these aliases, typing (in a console) `lls <folder>` will use lando to run `ls -la <folder>` in the default container (in our case appserver) and list files there. Whereas, `ls <folder>` will list the folder locally (i.e. on the host) as usual.

## More help

For more information on installation, usage and administration of the development area, go to the next section.

{% content-ref url="/pages/-LViW2tpUZUaas5Z3SxG" %}
[Development environment](/digital/guides/drupal-8/custom-development-and-configuration/onboarding/to-be-sorted/development-environment.md)
{% endcontent-ref %}
