Opiniated 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)

Launchpad assumes specific files exists

To mimic platform's logic, following files are

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

By default only following files and folders are mounted:

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

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']

.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:

1
2
3
# 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

solr

see

  • adds snippet to settings.php file to override the defined settings.
    This assumes
    Drupal 7
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    // Launchpad Solr config
    $conf['search_api_solr_overrides'] = [
      '{{.ProjectName}}' => [
        'name' => '{{.ProjectName}} (Overridden)',
        'options' => [
          'host' => "solr.{{.ProjectName}}-docker",
          'port' => 8983,
          'path' => '/solr',
          'core' => "{{.ProjectName}}",
        ],
      ],
    ];
    

What project files are added/change/managed by launchpad? launchpad alters a project as minimal files as possible: