vardot / platformsh-example-varbase
Project template for Varbase distribution.
Requires
- composer/installers: ~1.0
- cweagans/composer-patches: ~1.0
- drupal/console: ^1.9
- drupal/core-composer-scaffold: ^8.8.0
- drupal/core-project-message: ^8.8.0
- drupal/drupal-library-installer-plugin: ^0.3
- drupal/redis: ^1.2
- drush/drush: ^10.1
- oomphinc/composer-installers-extender: ~1.0
- platformsh/config-reader: ^2.3
- vardot/varbase: ~8.8.0
- vardot/varbase-updater: ~1.0
- webflo/drupal-finder: ~1.0
- webmozart/path-util: ~2.0
Requires (Dev)
- behat/behat: ~3.0
- behat/mink: ~1.0
- behat/mink-extension: ~2.0
- behat/mink-goutte-driver: ~1.0
- behat/mink-selenium2-driver: ~1.0
- behat/mink-zombie-driver: ~1.0
- behatch/contexts: ~3.0
- drupal/coder: ~8.0
- drupal/drupal-extension: ~3.0
- emuse/behat-html-formatter: ^0.2.0
- phing/phing: ~2.0
Conflicts
Replaces
- ajaxorg/ace-builds: *
README
This project provides a starter kit for Varbase 8.8.x projects hosted on Platform.sh. It is very closely based on the Varbase Composer project.
This template builds Drupal 8 using the "Drupal Recommended" Composer project. It also includes configuration to use Redis for caching, although that must be enabled post-install in .platform.app.yaml
.
Drupal is a flexible and extensible PHP-based CMS framework.
Services
- PHP 7.3
- MariaDB 10.4
- Redis 6
Post-install
-
Run through the Drupal installer as normal. You will not be asked for database credentials as those are already provided.
-
Once Drupal is fully installed, edit your
.platform.app.yaml
file and uncomment the line under therelationships
block that readsredis: 'rediscache:redis'
. Commit and push the changes. That will enable Drupal's Redis cache integration. (The Redis cache integration cannot be active during the installer.)
Customizations
The following changes have been made relative to Drupal 8 "Recommended" project as it is downloaded from Drupal.org or Packagist. If using this project as a reference for your own existing project, replicate the changes below to your project.
- The
.platform.app.yaml
,.platform/services.yaml
, and.platform/routes.yaml
files have been added. These provide Platform.sh-specific configuration and are present in all projects on Platform.sh. You may customize them as you see fit. - An additional Composer library,
platformsh/config-reader
, has been added. It provides convenience wrappers for accessing the Platform.sh environment variables. - Drush and Drupal Console have been pre-included in
composer.json
. You are free to remove one or both if you do not wish to use them. (Note that the default cron and deploy hooks make use of Drush commands, however.) The Drupal Redis module also comes pre-installed but not enabled by default. - The
settings.platformsh.php
file contains Platform.sh-specific code to map environment variables into Drupal configuration. You can add to it as needed. See the documentation for more examples of common snippets to include here. It uses the Config Reader library. - The
settings.php
file has been heavily customized to only define those values needed for both Platform.sh and local development. It calls out tosettings.platformsh.php
if available. You can add additional values as documented indefault.settings.php
as desired. It is also setup such that when you install Drupal on Platform.sh the installer will not ask for database credentials as they will already be defined.