Skip to content

Opinionated config

Launchpad has very close integration how Dropsolid Platform and the build workflow on the platform works.
Therefore some defaults and logic exists in Launchpad, to be as close as possible to Dropsolid Platform.

As Dropsolid platform evolves, so will Launchpad.

Launchpad only supports project from Dropsolid Platform (officially)

There are ways to do this, see advanced use-cases.

Launchpad assumes specific files exists

To mimic platform's logic, following files should be present:

  • etc/drupal/.htaccess
  • etc/drush/[PROJECT_NAME].aliases.drushrc.php

If those files aren't present, starting the project will fail.

Not all folders and files in the a project are in volumes

By default only following files and folders are mounted:

  • docroot (or alternative folder if defined, see the command documentation)
  • etc
  • vendor (for D8)
  • config (for d8)

see project customization how to mount extra folders.

Drupal version determines default settings and config for projects

Launchpad makes decisions based on the major Drupal version of a project, to reflect the defaults on Dropsolid Platform for that project.

setting Drupal 7 Drupal 8
php_version 5.6 7.1
solr_version 5.5 6.6
redis_version 4.0 4.0

Some files are managed by launchpad

settings.php

this file is generated by launchpad, but still allows you to customize it through the project workflow.
This is the order of includes:

  • project specific settings and config (solr, memcached, stage file proxy, ...)
  • include of ../drupal/settings.local.php
    • (include of ../etc/drupal/additional_settings.local.php if defined in ../drupal/settings.local.php)
  • definition / reset of settings:
    • unset of $base_url
    • hardcoded list of $settings['file_scan_ignore_directories']
    • database settings for $databases['default']['default']
    • enforced $settings['reverse_proxy'] and $settings['reverse_proxy_addresses']
    • enforced tmp directory

.gitignore

A .gitignore file in the project root is altered (or created for some projects), to ensure Launchpad generated files are excluded from commits.
All changes between the following lines are managed by Launchpad:

# Launchpad .gitignore begin DO NOT REMOVE OR EDIT THIS LINE
...
# Launchpad .gitignore end DO NOT REMOVE OR EDIT THIS LINE

Do not revert/delete this file locally, as it will add unnecessary files to your project (e.g. raw db files)

docker-compose.yml and docker-compose.override.yml

All content in these files is managed by Launchpad and should not be altered.
See project customization on how to extend Docker config.

Specific roles add config to settings.php

See solr, varnish, ... roles.