diff --git a/src/Console/Command/BuildConfigurationCommand.php b/src/Console/Command/BuildConfigurationCommand.php index 2b36e92..9110fd9 100644 --- a/src/Console/Command/BuildConfigurationCommand.php +++ b/src/Console/Command/BuildConfigurationCommand.php @@ -81,6 +81,8 @@ final class BuildConfigurationCommand extends Command 'database' => new Assert\Optional(), + 'drupal' => new Assert\Optional(), + 'docker-compose' => new Assert\Optional(), 'dockerfile' => new Assert\Optional(), @@ -137,6 +139,13 @@ final class BuildConfigurationCommand extends Command $this->filesToGenerate->push(['web/nginx/default.conf', 'tools/docker/images/web/root/etc/nginx/conf.d/default.conf']); } + if ('drupal-project' === Arr::get($configurationData, 'type')) { + // Ensure a "docroot" value is set. + if (null === Arr::get($configurationData, 'drupal.docroot')) { + Arr::set($configurationData, 'drupal.docroot', 'web'); + } + } + $this->generateFiles($configurationData); return Command::SUCCESS; diff --git a/templates/docker-compose.yaml.twig b/templates/docker-compose.yaml.twig index ffb1597..d83f224 100644 --- a/templates/docker-compose.yaml.twig +++ b/templates/docker-compose.yaml.twig @@ -1,6 +1,6 @@ x-app: &default-app volumes: - - "${DOCKER_WEB_VOLUME:-./web:/app/web}" + - "${DOCKER_WEB_VOLUME:-./{{ drupal.docroot }}:/app/{{ drupal.docroot }}}" env_file: - .env restart: "${DOCKER_RESTART_POLICY:-unless-stopped}" diff --git a/templates/web/caddy/Caddyfile.twig b/templates/web/caddy/Caddyfile.twig index 4a02702..83e378a 100644 --- a/templates/web/caddy/Caddyfile.twig +++ b/templates/web/caddy/Caddyfile.twig @@ -1,4 +1,4 @@ :80 -root * /app/docroot +root * /app/{{ drupal.docroot }} file_server php_fastcgi php:9000 diff --git a/templates/web/nginx/default.conf.twig b/templates/web/nginx/default.conf.twig index f941f8c..5b0024e 100644 --- a/templates/web/nginx/default.conf.twig +++ b/templates/web/nginx/default.conf.twig @@ -1,7 +1,7 @@ server { server_name _; - root /app/docroot; + root /app/{{ drupal.docroot }}; location / { try_files $uri /index.php?$query_string;