phase2 / octane
Template for Drupal 8 sites built using the Octane distribution.
Installs: 64
Dependents: 0
Suggesters: 0
Security: 0
Stars: 20
Watchers: 53
Forks: 10
Open Issues: 0
Type:project
pkg:composer/phase2/octane
Requires
- acquia/lightning: ^4.0@alpha
- composer/installers: ^1.0
- cweagans/composer-patches: ^1.6
- drupal-composer/drupal-scaffold: ^2.0.0
- drupal/chosen: ^2.4
- drupal/components: ^1.0
- drupal/config_split: ^1.1
- drupal/field_group: ^1.0
- drupal/paragraphs: ^1.2
- drupal/redirect: ^1.0@beta
- drupal/restui: ^1.0
- drupal/search_api_solr: ^2.1
- drupal/twig_extender: ^2.0
- drupal/twig_field_value: ^1.1
- drupal/twig_tweak: ^1.9
- harvesthq/chosen: ^1.7
- kporras07/composer-symlinks: ^0.1.0@dev
- roave/security-advisories: dev-master
Requires (Dev)
- behat/behat: ^3.0
- behat/mink: 1.7.x-dev
- behat/mink-goutte-driver: ^1.2
- behat/mink-selenium2-driver: 1.3.x-dev
- behat/mink-zombie-driver: ^1.2
- dmore/behat-chrome-extension: ^1.1
- drupal/coder: ^8.2.12
- drupal/console: ^1.8
- drupal/devel: ^1.0
- drupal/drupal-extension: ^3.4.0
- drush/drush: ^9
- jcalderonzumba/gastonjs: ^1.0.2
- jcalderonzumba/mink-phantomjs-driver: ^0.3.1
- mikey179/vfsstream: ^1.2
- phpmd/phpmd: ^2.1
- phpspec/prophecy: ^1.4
- phpunit/phpunit: ^6.5
- se/selenium-server-standalone: ^2.53
- symfony/css-selector: ^3.4.0
- symfony/debug: ^3.4.0
- symfony/phpunit-bridge: ^3.4.3
- 8.6.0-alpha6
- 8.6.0-alpha5
- 8.6.0-alpha4
- 8.6.0-alpha3
- 8.6.0-alpha2
- 8.6.0-alpha1
- 8.4.0-alpha1
- 8.1.0-alpha2
- 8.1.0-alpha1
- dev-feature/particle
- dev-8.x-2.x
- dev-user-1-login-fix
- dev-existing-site-tests
- dev-add-phpunit
- dev-edit-commit-command
- dev-feature/lightning-update-july-2018
- dev-feature/lightning-update
- dev-fix-coder-version
- dev-8.x-1.x
This package is auto-updated.
Last update: 2025-10-05 09:37:18 UTC
README
This is a composer project used to spin up a starting instance of Drupal 8 Octane. Octane is a Drupal 8 project scaffold that provides the following features:
- Uses the Acquia/Lightning distribution.
- Uses Particle for the Pattern-Lab based theme.
- Adds common modules needed by most large Drupal 8 sites.
- Provides starting configuration for Docksal.
- Provides starting configuration for Outrigger.
- (TODO) Provides starting configuration for CI on GitLabs.
Installation
To create a Drupal Octane project clone this repository to a directory named for your project.
Scripts for managing your site are located in the bin folder:
- Native (no docker containers) - run scripts in
./bindirectly. - Docksal - run a script via
fin scriptname. - Outrigger - run a script via
rig project scriptname.
To initialize your Drupal project, run the init script.
It takes an optional argument to specify which "profile" to install.
By default the "Lightning" profile will be used. Other options are
"standard" or "minimal".
This will create the docker containers, create a database, and install Drupal.
Your site will be available at projectname.docksal for Docksal or
projectname.vm for Outrigger.
Docksal example:
fin init
Outrigger example:
rig project init
If configuration files are detected in the src/config/default directory,
the site will be installed using this existing config and the profile argument
will be ignored.
Custom Project Scripts
Custom scripts for your project should be created in the /bin folder and
then referenced from either Outrigger or Docksal.
For Docksal, create a file within .docksal/commands that performs any
specific Docksal setup and then calls the script in /bin. See the init
command for an example.
For Outrigger, edit the .outrigger.yml file and add a custom script with any
specific Outrigger setup and then call the script in /bin. See the
rig project init script for an example.
This will create the docker containers, create a database, and install Drupal.
Common Commands
Each of these commands are available as either a fin COMMAND or
rig project COMMAND.
rebuild- Used after a git-pull to run composer, run update hooks, import config, compile theme, clear cache.theme- Used to compile the theme and then run browserstack to watch for sass, js, twig changes.
Docker Containers
Outrigger uses the full docker-composer.yml (and docker-compose.override.yml locally)
to define the docker containers, whereas Docksal defines a default stack and
allows you to override the configuration in .docksal/docksal.yml which uses
the same docker-compose syntax but only needs to contain the local overrides.
Default environment variables for Outrigger are defined in the .env file
while Docksal uses the .docksal/docksal.env file.
The following containers will be created and used for your site:
web- The Apache web container.db- The MySQL (Docksal) or MariaDB (Outrigger) database container. Default user isadminand passadmincan be changed in the environment variables or db container configuration.
Build/CLI Container
One of the main priciples of Octane is to minimize the number of tools installed on your local computer (only Composer) and instead perform most tasks within a docker "build" container that contains all the tools.
In Outrigger, this Build container is defined in the build.yml docker-compose
file. Various application specific containers are build on the "base" container
for drush, composer, and generic cli commands. To run a script
within the build container, use the command syntax:
docker-compose -f build.yml run --rm cli /var/www/bin/SCRIPTNAME.sh
Typically you will create a rig project SCRIPTNAME alias for this in the
.outrigger.yml file or create a local alias in your own .bashrc file.
For example:
ddrush='docker-compose -f build.yml run --rm drush'
for running drush within the build container.
To open a bash shell into the Outrigger Build container, use
rig project bash
In DockSal, the Build container is called cli and is defined within the
default services stack, much like web or db and can be overridden
using the docksal.yml file. Docksal provides its own set of aliases for
common applications such as fin drush, fin composer, etc. To
run a script within the build container, use the command syntax:
fin exec /var/www/bin/SCRIPTNAME.sh
To open a bash shell into the Docksal Build/CLI container, use
fin bash
When creating a custom command for Docksal in the .docksal/commands
directory, you can add the comment
#: exec_target = cli
to the top of your script command file to cause it to be executed within the Build/CLI container instead of running locally.