Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions frameworks/cakephp/3.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: cakephp
version: "3"
label: CakePHP
public_dir: webroot
create: composer create-project cakephp/app
php:
min: "7.2"
max: "7.4"

detect:
- file: bin/cake
- composer: cakephp/cakephp

env:
file: config/.env
example_file: config/.env.example
format: dotenv
url_key: APP_URL
services:
mysql:
detect:
- key: DATABASE_URL
value_prefix: "mysql://"
vars:
- "DATABASE_URL=mysql://root:lerd@lerd-mysql:3306/{{site}}"
postgres:
detect:
- key: DATABASE_URL
value_prefix: "postgres://"
vars:
- "DATABASE_URL=postgres://postgres:lerd@lerd-postgres:5432/{{site}}"
redis:
detect:
- key: CACHE_URL
value_prefix: "redis://"
vars:
- "CACHE_URL=redis://lerd-redis:6379"
mailpit:
detect:
- key: EMAIL_TRANSPORT_DEFAULT_URL
vars:
- "EMAIL_TRANSPORT_DEFAULT_URL=smtp://lerd-mailpit:1025"

composer: auto
npm: auto
console: bin/cake

logs:
- path: logs/*.log
format: raw

setup:
- label: Run migrations
command: bin/cake migrations migrate
default: true
- label: Clear cache
command: bin/cake cache clear_all
default: true

commands:
- name: cache:clear
label: Clear all caches
command: bin/cake cache clear_all
description: Clear every configured cache pool
output: silent
icon: broom
- name: migrate
label: Run migrations
command: bin/cake migrations migrate
description: Apply pending migrations
output: silent
icon: database
check:
composer: cakephp/migrations
- name: schema:cache:clear
label: Clear schema cache
command: bin/cake schema_cache clear
description: Drop the cached database schema
output: silent
icon: refresh
32 changes: 32 additions & 0 deletions frameworks/codeigniter/3.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: codeigniter
version: "3"
label: CodeIgniter
public_dir: .
create: composer create-project codeigniter/framework

php:
min: "7.2"
max: "7.4"

# CodeIgniter 3 has no spark CLI and no composer entry of its own in most
# projects, so it is recognised by the framework directory the installer lays
# down next to the front controller.
detect:
- file: system/core/CodeIgniter.php
- composer: codeigniter/framework

# Configuration lives in PHP files under application/config rather than a
# dotenv file, so there is nothing for lerd to write connection values into.
env:
file: ""
format: none

composer: auto
npm: false

# No console: CodeIgniter 3 ships no CLI runner, so there are no workers, no
# setup commands and no tinker.

logs:
- path: application/logs/log-*.php
format: plain
128 changes: 128 additions & 0 deletions frameworks/drupal/8.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
name: drupal
version: "8"
label: Drupal
public_dir: web
favicon: core/misc/favicon.ico
create: composer create-project drupal/recommended-project
php:
min: "7.2"
max: "7.4"

detect:
- composer: drupal/core-recommended
- composer: drupal/core

env:
file: .env
format: dotenv
fallback_file: web/sites/default/settings.php
fallback_format: php-const
services:
mysql:
detect:
- key: DB_DRIVER
value_prefix: mysql
- key: database
value_prefix: mysql
vars:
- DB_DRIVER=mysql
- DB_HOST=lerd-mysql
- DB_PORT=3306
- DB_NAME={{site}}
- DB_USER=root
- DB_PASSWORD=lerd
postgres:
detect:
- key: DB_DRIVER
value_prefix: pgsql
- key: database
value_prefix: pgsql
vars:
- DB_DRIVER=pgsql
- DB_HOST=lerd-postgres
- DB_PORT=5432
- DB_NAME={{site}}
- DB_USER=postgres
- DB_PASSWORD=lerd
redis:
detect:
- key: REDIS_HOST
vars:
- REDIS_HOST=lerd-redis
- REDIS_PORT=6379
mailpit:
detect:
- key: SMTP_HOST
vars:
- SMTP_HOST=lerd-mailpit
- SMTP_PORT=1025

composer: auto
npm: false

workers:
cron:
label: Cron
command: php vendor/drush/drush/drush.php cron
restart: always
check:
composer: drush/drush

setup:
- label: Install site
command: php vendor/drush/drush/drush.php site:install --yes
check:
composer: drush/drush
- label: Run database updates
command: php vendor/drush/drush/drush.php updatedb --yes
default: true
check:
composer: drush/drush
- label: Rebuild cache
command: php vendor/drush/drush/drush.php cache:rebuild
default: true
check:
composer: drush/drush
- label: Import config
command: php vendor/drush/drush/drush.php config:import --yes
check:
composer: drush/drush

tinker:
command: ["vendor/drush/drush/drush.php", "php:eval"]
execute_positional: true
requires_package: drush/drush
requires_file: vendor/drush/drush/drush.php

commands:
- name: cr
label: Rebuild cache
command: drush cr
description: Rebuild all Drupal caches
output: silent
icon: broom
- name: uli
label: Login as admin
command: drush uli
description: Generate a one-time admin login URL
output: url
icon: key
- name: updb
label: Run database updates
command: drush updb -y
description: Apply pending hook_update_N updates
output: silent
icon: database
- name: cex
label: Export config
command: drush cex -y
description: Export configuration to the sync directory
output: text
icon: arrow-up
- name: cim
label: Import config
command: drush cim -y
description: Import configuration from the sync directory
output: text
confirm: true
icon: arrow-down
128 changes: 128 additions & 0 deletions frameworks/drupal/9.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
name: drupal
version: "9"
label: Drupal
public_dir: web
favicon: core/misc/favicon.ico
create: composer create-project drupal/recommended-project
php:
min: "7.3"
max: "8.1"

detect:
- composer: drupal/core-recommended
- composer: drupal/core

env:
file: .env
format: dotenv
fallback_file: web/sites/default/settings.php
fallback_format: php-const
services:
mysql:
detect:
- key: DB_DRIVER
value_prefix: mysql
- key: database
value_prefix: mysql
vars:
- DB_DRIVER=mysql
- DB_HOST=lerd-mysql
- DB_PORT=3306
- DB_NAME={{site}}
- DB_USER=root
- DB_PASSWORD=lerd
postgres:
detect:
- key: DB_DRIVER
value_prefix: pgsql
- key: database
value_prefix: pgsql
vars:
- DB_DRIVER=pgsql
- DB_HOST=lerd-postgres
- DB_PORT=5432
- DB_NAME={{site}}
- DB_USER=postgres
- DB_PASSWORD=lerd
redis:
detect:
- key: REDIS_HOST
vars:
- REDIS_HOST=lerd-redis
- REDIS_PORT=6379
mailpit:
detect:
- key: SMTP_HOST
vars:
- SMTP_HOST=lerd-mailpit
- SMTP_PORT=1025

composer: auto
npm: false

workers:
cron:
label: Cron
command: php vendor/drush/drush/drush.php cron
restart: always
check:
composer: drush/drush

setup:
- label: Install site
command: php vendor/drush/drush/drush.php site:install --yes
check:
composer: drush/drush
- label: Run database updates
command: php vendor/drush/drush/drush.php updatedb --yes
default: true
check:
composer: drush/drush
- label: Rebuild cache
command: php vendor/drush/drush/drush.php cache:rebuild
default: true
check:
composer: drush/drush
- label: Import config
command: php vendor/drush/drush/drush.php config:import --yes
check:
composer: drush/drush

tinker:
command: ["vendor/drush/drush/drush.php", "php:eval"]
execute_positional: true
requires_package: drush/drush
requires_file: vendor/drush/drush/drush.php

commands:
- name: cr
label: Rebuild cache
command: drush cr
description: Rebuild all Drupal caches
output: silent
icon: broom
- name: uli
label: Login as admin
command: drush uli
description: Generate a one-time admin login URL
output: url
icon: key
- name: updb
label: Run database updates
command: drush updb -y
description: Apply pending hook_update_N updates
output: silent
icon: database
- name: cex
label: Export config
command: drush cex -y
description: Export configuration to the sync directory
output: text
icon: arrow-up
- name: cim
label: Import config
command: drush cim -y
description: Import configuration from the sync directory
output: text
confirm: true
icon: arrow-down
Loading