Skip to content
Snippets Groups Projects
Commit 81369050 authored by jurgenhaas's avatar jurgenhaas
Browse files

Merge branch 'develop' into 'main'

Merging develop into main [MINOR_VERSION]

See merge request !85
parents 7a5e2c14 d4f38839
No related branches found
No related tags found
1 merge request!85Merging develop into main [MINOR_VERSION]
Pipeline #1162216 passed
...@@ -12,6 +12,3 @@ indent_size = 2 ...@@ -12,6 +12,3 @@ indent_size = 2
charset = utf-8 charset = utf-8
trim_trailing_whitespace = true trim_trailing_whitespace = true
insert_final_newline = true insert_final_newline = true
[{composer.json,composer.lock}]
indent_size = 4
{ {
"name": "lakedrops/docker4drupal", "name": "lakedrops/docker4drupal",
"description": "Composer Plugin to prepare local Drupal development environment for Docker.", "description": "Composer Plugin to prepare local Drupal development environment for Docker.",
"type": "composer-plugin", "type": "composer-plugin",
"keywords": ["Drupal", "Development", "Docker"], "keywords": [
"homepage": "https://gitlab.lakedrops.com/composer/plugin/docker4drupal", "Drupal",
"license": "GPL-2.0-or-later", "Development",
"authors": [ "Docker"
{ ],
"name": "Jürgen Haas", "homepage": "https://gitlab.lakedrops.com/composer/plugin/docker4drupal",
"email": "juergen.haas@lakedrops.com", "license": "GPL-2.0-or-later",
"homepage": "https://www.lakedrops.com", "authors": [
"role": "Drupal Expert" {
}, "name": "Jürgen Haas",
{ "email": "juergen.haas@lakedrops.com",
"name": "Daniel Speicher", "homepage": "https://www.lakedrops.com",
"email": "daniel.speicher@lakedrops.com", "role": "Drupal Expert"
"homepage": "https://www.lakedrops.com",
"role": "Drupal Expert"
},
{
"name": "Richard Papp",
"email": "richard.papp@lakedrops.com",
"homepage": "https://www.lakedrops.com",
"role": "Drupal Expert"
}
],
"support": {
"issues": "https://gitlab.lakedrops.com/composer/plugin/docker4drupal/issues",
"source": "https://gitlab.lakedrops.com/composer/plugin/docker4drupal/tree/main",
"docs": "https://devops-tools.docs.lakedrops.com/composer/plugin/d4d/"
}, },
"require": { {
"php": ">=7.4", "name": "Daniel Speicher",
"ext-json": "*", "email": "daniel.speicher@lakedrops.com",
"composer-plugin-api": "^1||^2", "homepage": "https://www.lakedrops.com",
"henrywhitaker3/healthchecks-io": "^1.0", "role": "Drupal Expert"
"lakedrops/ahoy": "^1.7||dev-develop",
"lakedrops/composer-json-utils": "^2.4||dev-develop",
"lakedrops/docker-traefik": "^3.2||dev-develop"
}, },
"require-dev": { {
"composer/composer": "^1||^2", "name": "Richard Papp",
"drupal/coder": "^8.3", "email": "richard.papp@lakedrops.com",
"lakedrops/drupal-environment": "^3.0", "homepage": "https://www.lakedrops.com",
"phpunit/phpunit": "^9.5", "role": "Drupal Expert"
"roave/security-advisories": "dev-master", }
"squizlabs/php_codesniffer": "^3.7" ],
}, "support": {
"minimum-stability": "dev", "issues": "https://gitlab.lakedrops.com/composer/plugin/docker4drupal/issues",
"prefer-stable": true, "source": "https://gitlab.lakedrops.com/composer/plugin/docker4drupal/tree/main",
"autoload": { "docs": "https://devops-tools.docs.lakedrops.com/composer/plugin/d4d/"
"psr-4": { },
"LakeDrops\\Docker4Drupal\\": "src/" "repositories": [
} {
}, "type": "composer",
"extra": { "url": "https://packages.drupal.org/8"
"class": "LakeDrops\\Docker4Drupal\\Plugin" }
}, ],
"config": { "require": {
"allow-plugins": { "php": ">=8.1",
"dealerdirect/phpcodesniffer-composer-installer": true, "ext-json": "*",
"lakedrops/ahoy": false, "composer-plugin-api": "^2",
"lakedrops/drupal-environment": false "henrywhitaker3/healthchecks-io": "^1.0",
} "lakedrops/ahoy": "^1.7||dev-develop",
"lakedrops/composer-json-utils": "^2.4||dev-develop",
"lakedrops/docker-traefik": "^3.2||dev-develop"
},
"require-dev": {
"composer/composer": "^2",
"lakedrops/drupal-development-environment": "^3.2||dev-develop",
"roave/security-advisories": "dev-latest"
},
"minimum-stability": "dev",
"prefer-stable": true,
"autoload": {
"psr-4": {
"LakeDrops\\Docker4Drupal\\": "src/"
}
},
"extra": {
"class": "LakeDrops\\Docker4Drupal\\Plugin"
},
"config": {
"allow-plugins": {
"dealerdirect/phpcodesniffer-composer-installer": true,
"drupal/core-composer-scaffold": false,
"lakedrops/*": false,
"php-http/discovery": false,
"phpstan/extension-installer": true
} }
}
} }
...@@ -3,14 +3,16 @@ ...@@ -3,14 +3,16 @@
namespace LakeDrops\Docker4Drupal; namespace LakeDrops\Docker4Drupal;
use Composer\Plugin\Capability\CommandProvider as CommandProviderCapability; use Composer\Plugin\Capability\CommandProvider as CommandProviderCapability;
use Composer\Command\BaseCommand;
/**
* Composer Command Provider for Docker for Drupal.
*
* @package LakeDrops\Docker4Drupal
*/
class CommandProvider implements CommandProviderCapability { class CommandProvider implements CommandProviderCapability {
/** /**
* Retrieves an array of commands * {@inheritdoc}
*
* @return BaseCommand[]
*/ */
public function getCommands(): array { public function getCommands(): array {
return [ return [
...@@ -18,4 +20,5 @@ class CommandProvider implements CommandProviderCapability { ...@@ -18,4 +20,5 @@ class CommandProvider implements CommandProviderCapability {
new UpdateCommand(), new UpdateCommand(),
]; ];
} }
} }
...@@ -120,6 +120,16 @@ class Handler extends BaseHandler { ...@@ -120,6 +120,16 @@ class Handler extends BaseHandler {
'webserver' => [ 'webserver' => [
'type' => 'apache', 'type' => 'apache',
'overwriteconfig' => FALSE, 'overwriteconfig' => FALSE,
'responseheader' => [
'server' => '',
'strict_transport_security' => 'max-age=31536000; includeSubDomains',
'referrer_policy' => 'same-origin',
'permissions_policy' => 'accelerometer=(), camera=(), geolocation=(), gyroscope=(), microphone=(), payment=(), usb=()',
'cross_origin_embedder_policy' => 'credentialless',
'cross_origin_opener_policy' => 'same-origin',
'cross_origin_resource_policy' => 'cross-origin',
'x_permitted_cross_domain_policies' => 'none',
],
], ],
'mailhog' => [ 'mailhog' => [
'enable' => 0, 'enable' => 0,
...@@ -497,7 +507,7 @@ class Handler extends BaseHandler { ...@@ -497,7 +507,7 @@ class Handler extends BaseHandler {
$settingsPhpFile = $settingsPath . '/settings.php'; $settingsPhpFile = $settingsPath . '/settings.php';
if ($fs->exists($settingsPhpFile)) { if ($fs->exists($settingsPhpFile)) {
$settingsPhp = file_get_contents($settingsPhpFile); $settingsPhp = file_get_contents($settingsPhpFile);
if (strpos($settingsPhp, 'settings.docker.php') === FALSE) { if (!str_contains($settingsPhp, 'settings.docker.php')) {
$settingsPhp .= "\n\nif (file_exists(__DIR__ . '/settings.docker.php')) {\n include __DIR__ . '/settings.docker.php';\n}\n"; $settingsPhp .= "\n\nif (file_exists(__DIR__ . '/settings.docker.php')) {\n include __DIR__ . '/settings.docker.php';\n}\n";
$fs->chmod($settingsPhpFile, 0664); $fs->chmod($settingsPhpFile, 0664);
file_put_contents($settingsPhpFile, $settingsPhp); file_put_contents($settingsPhpFile, $settingsPhp);
...@@ -702,7 +712,7 @@ class Handler extends BaseHandler { ...@@ -702,7 +712,7 @@ class Handler extends BaseHandler {
try { try {
$hj_checks = $hj_manager->listChecks(); $hj_checks = $hj_manager->listChecks();
} }
catch (HealthchecksFailureException | HealthchecksUnauthorisedException $e) { catch (HealthchecksFailureException | HealthchecksUnauthorisedException) {
// Ignoring this for now. // Ignoring this for now.
} }
} }
...@@ -747,7 +757,7 @@ class Handler extends BaseHandler { ...@@ -747,7 +757,7 @@ class Handler extends BaseHandler {
$hj_check = new Healthchecks($uuid, $hj_url . '/ping/'); $hj_check = new Healthchecks($uuid, $hj_url . '/ping/');
$hj_check->success(); $hj_check->success();
} }
catch (HealthchecksFailureException | HealthchecksUuidNotFoundException | HealthchecksAccountLimitReachedException | HealthchecksUnauthorisedException $e) { catch (HealthchecksFailureException | HealthchecksUuidNotFoundException | HealthchecksAccountLimitReachedException | HealthchecksUnauthorisedException) {
// Ignoring this for now. // Ignoring this for now.
} }
} }
...@@ -764,7 +774,7 @@ class Handler extends BaseHandler { ...@@ -764,7 +774,7 @@ class Handler extends BaseHandler {
try { try {
$check = $hj_manager->updateCheck($uuid, $task); $check = $hj_manager->updateCheck($uuid, $task);
} }
catch (HealthchecksFailureException | HealthchecksUuidNotFoundException | HealthchecksAccountLimitReachedException | HealthchecksUnauthorisedException $e) { catch (HealthchecksFailureException | HealthchecksUuidNotFoundException | HealthchecksAccountLimitReachedException | HealthchecksUnauthorisedException) {
// Ignoring this for now. // Ignoring this for now.
} }
} }
...@@ -815,7 +825,7 @@ class Handler extends BaseHandler { ...@@ -815,7 +825,7 @@ class Handler extends BaseHandler {
* @return string|array * @return string|array
* The ipv4 address(es). * The ipv4 address(es).
*/ */
private function getLocalIpv4(string $interface = NULL) { private function getLocalIpv4(string $interface = NULL): array|string {
$out = explode(PHP_EOL, shell_exec('LC_ALL=C /sbin/ifconfig')); $out = explode(PHP_EOL, shell_exec('LC_ALL=C /sbin/ifconfig'));
$local_addrs = []; $local_addrs = [];
$ifname = 'unknown'; $ifname = 'unknown';
...@@ -886,7 +896,7 @@ class Handler extends BaseHandler { ...@@ -886,7 +896,7 @@ class Handler extends BaseHandler {
return $mount['Source']; return $mount['Source'];
} }
} }
elseif (strpos($projectRoot, $mount['Destination']) === 0) { elseif (str_starts_with($projectRoot, $mount['Destination'])) {
return $mount['Source'] . substr($projectRoot, strlen($mount['Destination'])); return $mount['Source'] . substr($projectRoot, strlen($mount['Destination']));
} }
} }
...@@ -922,7 +932,7 @@ class Handler extends BaseHandler { ...@@ -922,7 +932,7 @@ class Handler extends BaseHandler {
return json_decode(implode('', $output), TRUE, 512, JSON_THROW_ON_ERROR)[0]; return json_decode(implode('', $output), TRUE, 512, JSON_THROW_ON_ERROR)[0];
} }
} }
catch (\Exception $ex) { catch (\Exception) {
// Ignore. // Ignore.
} }
return [ return [
...@@ -945,7 +955,7 @@ class Handler extends BaseHandler { ...@@ -945,7 +955,7 @@ class Handler extends BaseHandler {
exec('docker network inspect traefik-public', $output); exec('docker network inspect traefik-public', $output);
return json_decode(implode('', $output), TRUE, 512, JSON_THROW_ON_ERROR)[0]; return json_decode(implode('', $output), TRUE, 512, JSON_THROW_ON_ERROR)[0];
} }
catch (\Exception $ex) { catch (\Exception) {
// Ignore. // Ignore.
} }
return [ return [
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
namespace LakeDrops\Docker4Drupal; namespace LakeDrops\Docker4Drupal;
use Composer\Plugin\Capability\CommandProvider as ComposerCommandProvider;
use Composer\Script\Event; use Composer\Script\Event;
use Composer\Script\ScriptEvents; use Composer\Script\ScriptEvents;
use LakeDrops\Component\Composer\BasePlugin; use LakeDrops\Component\Composer\BasePlugin;
...@@ -23,7 +24,7 @@ class Plugin extends BasePlugin { ...@@ -23,7 +24,7 @@ class Plugin extends BasePlugin {
*/ */
public function getCapabilities(): array { public function getCapabilities(): array {
return [ return [
\Composer\Plugin\Capability\CommandProvider::class => CommandProvider::class, ComposerCommandProvider::class => CommandProvider::class,
]; ];
} }
......
...@@ -6,12 +6,17 @@ use LakeDrops\Component\Composer\BaseCommand; ...@@ -6,12 +6,17 @@ use LakeDrops\Component\Composer\BaseCommand;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
/**
* Composer Traefik Rewrite Command for Docker4Drupal.
*
* @package LakeDrops\Docker4Drupal
*/
class TraefikRewriteCommand extends BaseCommand { class TraefikRewriteCommand extends BaseCommand {
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
protected function configure() { protected function configure(): void {
$this->setName('lakedrops:traefik:rewrite'); $this->setName('lakedrops:traefik:rewrite');
$this->setDescription('Rewrite Traefik config on this host.'); $this->setDescription('Rewrite Traefik config on this host.');
} }
......
...@@ -6,12 +6,17 @@ use LakeDrops\Component\Composer\BaseCommand; ...@@ -6,12 +6,17 @@ use LakeDrops\Component\Composer\BaseCommand;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
/**
* Composer Update Command for Docker4Drupal.
*
* @package LakeDrops\Docker4Drupal
*/
class UpdateCommand extends BaseCommand { class UpdateCommand extends BaseCommand {
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
protected function configure() { protected function configure(): void {
$this->setName('lakedrops:docker4drupal'); $this->setName('lakedrops:docker4drupal');
$this->setDescription('(Re-)Configure Docker for Drupal for this project.'); $this->setDescription('(Re-)Configure Docker for Drupal for this project.');
} }
......
...@@ -49,10 +49,8 @@ services: ...@@ -49,10 +49,8 @@ services:
restart: unless-stopped restart: unless-stopped
{% endif %} {% endif %}
environment: environment:
{% if mailhog.enable %} {% if mailhog.enable or mailpit.enable %}
PHP_SENDMAIL_PATH: /usr/sbin/sendmail -t -i -S mailhog:1025 PHP_SENDMAIL_PATH: /usr/sbin/sendmail -t -i -S {% if mailhog.enable %}mailhog{% else %}mailpit{% endif %}:1025
{% elseif mailpit.enable %}
PHP_SENDMAIL_PATH: /usr/sbin/sendmail -t -i -S mailpit:1025
{% endif %} {% endif %}
DB_HOST: mariadb DB_HOST: mariadb
DB_USER: drupal DB_USER: drupal
...@@ -157,6 +155,17 @@ services: ...@@ -157,6 +155,17 @@ services:
labels: labels:
traefik.enable: 'true' traefik.enable: 'true'
traefik.docker.network: traefik-public traefik.docker.network: traefik-public
traefik.http.routers.{{ webserver.type }}-{{ projectname }}.middlewares: {{ webserver.type }}-{{ projectname }}-middleware
traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-middleware.chain.middlewares: {{ webserver.type }}-{{ projectname }}-headers@docker{% if basicauth.enable %},{{ webserver.type }}-{{ projectname }}-auth@docker{% endif %}{% for domain in extradomains %},{{ webserver.type }}-{{ projectname }}-redirectregex{{ loop.index }}@docker{% endfor %}
traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-headers.headers.customresponseheaders.server: '{{ webserver.responseheader.server }}'
traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-headers.headers.customresponseheaders.strict-transport-security: '{{ webserver.responseheader.strict_transport_security }}'
traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-headers.headers.customresponseheaders.referrer-policy: '{{ webserver.responseheader.referrer_policy }}'
traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-headers.headers.customresponseheaders.permissions-policy: '{{ webserver.responseheader.permissions_policy }}'
traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-headers.headers.customresponseheaders.cross-origin-embedder-policy: '{{ webserver.responseheader.cross_origin_embedder_policy }}'
traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-headers.headers.customresponseheaders.cross-origin-opener-policy: '{{ webserver.responseheader.cross_origin_opener_policy }}'
traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-headers.headers.customresponseheaders.cross-origin-resource-policy: '{{ webserver.responseheader.cross_origin_resource_policy }}'
traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-headers.headers.customresponseheaders.x-permitted-cross-domain-policies: '{{ webserver.responseheader.x_permitted_cross_domain_policies }}'
{% if basicauth.enable %} {% if basicauth.enable %}
traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-auth.basicauth.users: {{ basicauth.code }} traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-auth.basicauth.users: {{ basicauth.code }}
{% endif %} {% endif %}
...@@ -166,18 +175,6 @@ services: ...@@ -166,18 +175,6 @@ services:
traefik.http.routers.{{ webserver.type }}-{{ projectname }}.tls: 'true' traefik.http.routers.{{ webserver.type }}-{{ projectname }}.tls: 'true'
traefik.http.routers.{{ webserver.type }}-{{ projectname }}.tls.certresolver: lakedrops traefik.http.routers.{{ webserver.type }}-{{ projectname }}.tls.certresolver: lakedrops
{% endif %} {% endif %}
{% if extradomains|default([]) and basicauth.enable %}
traefik.http.routers.{{ webserver.type }}-{{ projectname }}.middlewares: {{ webserver.type }}-{{ projectname }}-middleware
traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-middleware.chain.middlewares: {% for domain in extradomains %}{% if loop.index > 1 %},{% endif %}{{ webserver.type }}-{{ projectname }}-redirectregex{{ loop.index }}@docker{% endfor %},{{ webserver.type }}-{{ projectname }}-auth@docker
{% elseif extradomains|default([])|length == 1 %}
traefik.http.routers.{{ webserver.type }}-{{ projectname }}.middlewares: {{ webserver.type }}-{{ projectname }}-redirectregex1@docker
{% elseif extradomains|default([]) %}
traefik.http.routers.{{ webserver.type }}-{{ projectname }}.middlewares: {{ webserver.type }}-{{ projectname }}-middleware
traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-middleware.chain.middlewares: {% for domain in extradomains %}{% if loop.index > 1 %},{% endif %}{{ webserver.type }}-{{ projectname }}-redirectregex{{ loop.index }}@docker{% endfor %}
{% elseif basicauth.enable %}
traefik.http.routers.{{ webserver.type }}-{{ projectname }}.middlewares: {{ webserver.type }}-{{ projectname }}-auth@docker
{% endif %}
{% for domain in extradomains|default([]) %} {% for domain in extradomains|default([]) %}
traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-redirectregex{{ loop.index }}.redirectRegex.regex: "^https://{{ domain }}/(.*)" traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-redirectregex{{ loop.index }}.redirectRegex.regex: "^https://{{ domain }}/(.*)"
traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-redirectregex{{ loop.index }}.redirectRegex.replacement: "https://{{ projectdomain }}/$${1}" traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-redirectregex{{ loop.index }}.redirectRegex.replacement: "https://{{ projectdomain }}/$${1}"
......
<?php <?php
$options['structure-tables']['common'] = array('{{ drush.sql.tables.structure|join('\', \'')|raw }}'); $options['structure-tables']['common'] = ['{{ drush.sql.tables.structure|join('\', \'')|raw }}'];
$options['skip-tables']['common'] = array('{{ drush.sql.tables.skip|join('\', \'')|raw }}'); $options['skip-tables']['common'] = ['{{ drush.sql.tables.skip|join('\', \'')|raw }}'];
$options['shell-aliases']['pull-sql'] = '!drush -y --create-db --structure-tables-key=common --skip-tables-list={{ drush.sql.tables.skip|join(',') }} sql-sync @live @dev && drush -y @dev {{ (drupal.version >= 8) ? 'cr' : 'cc all' }} && drush -y @dev dev on'; $options['shell-aliases']['pull-sql'] = '!drush -y --create-db --structure-tables-key=common --skip-tables-list={{ drush.sql.tables.skip|join(',') }} sql-sync @live @dev && drush -y @dev {{ (drupal.version >= 8) ? 'cr' : 'cc all' }} && drush -y @dev dev on';
$options['shell-aliases']['pull-files'] = '!drush -y rsync @live:%files @dev:%files --mode=rlDzq --chown=www-data:www-data --safe-links --max-size=20M && drush -y rsync @live:%private @dev:%private --mode=rlDzq --chown=www-data:www-data --safe-links --max-size=20M'; $options['shell-aliases']['pull-files'] = '!drush -y rsync @live:%files @dev:%files --mode=rlDzq --chown=www-data:www-data --safe-links --max-size=20M && drush -y rsync @live:%private @dev:%private --mode=rlDzq --chown=www-data:www-data --safe-links --max-size=20M';
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
{% if drupal.version >= 8 %} {% if drupal.version >= 8 %}
{% if docker0.proxy %} {% if docker0.proxy %}
$settings['reverse_proxy'] = TRUE; $settings['reverse_proxy'] = TRUE;
$settings['reverse_proxy_addresses'] = array("{{ docker0.proxy }}"); $settings['reverse_proxy_addresses'] = ["{{ docker0.proxy }}"];
{% endif %} {% endif %}
$settings['trusted_host_patterns'] = array( $settings['trusted_host_patterns'] = [
'^{{ projectdomain|replace({".": "\\."}) }}$', '^{{ projectdomain|replace({".": "\\."}) }}$',
{% for domain in extradomains|default([]) %} {% for domain in extradomains|default([]) %}
'^{{ domain|replace({".": "\\."}) }}$', '^{{ domain|replace({".": "\\."}) }}$',
...@@ -13,10 +13,10 @@ $settings['trusted_host_patterns'] = array( ...@@ -13,10 +13,10 @@ $settings['trusted_host_patterns'] = array(
{% if not drupal.live|default(0) %} {% if not drupal.live|default(0) %}
'^{{ webserver.type }}$', '^{{ webserver.type }}$',
{% endif %} {% endif %}
); ];
$databases = array( $databases = [
'default' => array( 'default' => [
'default' => array( 'default' => [
'driver' => 'mysql', 'driver' => 'mysql',
'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql', 'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
'database' => 'drupal', 'database' => 'drupal',
...@@ -30,9 +30,9 @@ $databases = array( ...@@ -30,9 +30,9 @@ $databases = array(
'init_commands' => [ 'init_commands' => [
'isolation_level' => 'SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED', 'isolation_level' => 'SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED',
], ],
), ],
), ],
); ];
{% if not drupal.live|default(0) or mailhog.enable or mailpit.enable or symfony_mailer.enable %} {% if not drupal.live|default(0) or mailhog.enable or mailpit.enable or symfony_mailer.enable %}
$config['system.mail']['interface']['default'] = '{% if symfony_mailer.enable %}symfony_mailer{% else %}SMTPMailSystem{% endif %}'; $config['system.mail']['interface']['default'] = '{% if symfony_mailer.enable %}symfony_mailer{% else %}SMTPMailSystem{% endif %}';
{% if symfony_mailer.enable %} {% if symfony_mailer.enable %}
...@@ -58,9 +58,9 @@ $config['smtp.settings']['smtp_password'] = ''; ...@@ -58,9 +58,9 @@ $config['smtp.settings']['smtp_password'] = '';
$settings['danse_notification_delivery'] = {{ drupal.danse_notification_delivery|default('FALSE') }}; $settings['danse_notification_delivery'] = {{ drupal.danse_notification_delivery|default('FALSE') }};
{% endif %} {% endif %}
{% elseif drupal.version <= 7 %} {% elseif drupal.version <= 7 %}
$databases = array( $databases = [
'default' => array( 'default' => [
'default' => array( 'default' => [
'driver' => 'mysql', 'driver' => 'mysql',
'host' => 'mariadb', 'host' => 'mariadb',
'username' => 'drupal', 'username' => 'drupal',
...@@ -72,9 +72,9 @@ $databases = array( ...@@ -72,9 +72,9 @@ $databases = array(
'init_commands' => [ 'init_commands' => [
'isolation_level' => 'SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED', 'isolation_level' => 'SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED',
], ],
), ],
), ],
); ];
$base_url = '{{ projectprotocol }}://{{ projectdomain }}{{ projectport }}'; $base_url = '{{ projectprotocol }}://{{ projectdomain }}{{ projectport }}';
$conf['smtp_host'] = '{% if mailhog.enable %}mailhog{% else %}mailpit{% endif %}'; $conf['smtp_host'] = '{% if mailhog.enable %}mailhog{% else %}mailpit{% endif %}';
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment