## Let's reproduce your process with my local dev setup. $ cd /tmp/ ## Temporary location. chris@thip:/tmp$ mkdir recipe-test chris@thip:/tmp$ cd recipe-test ## I have Lando to hand and will use it to cross-check. chris@thip:/tmp/recipe-test$ lando init ? From where should we get your app's codebase? current working directory ? What recipe do you want to use? drupal10 ? Where is your webroot relative to the init destination? web ? What do you want to call this app? recipe-test _ __ _ / |/ /__ _ __ _ _____( )_______ / / _ \ |/|/ / | |/|/ / -_)// __/ -_) /_/|_/\___/__,__/ |__,__/\__/ /_/ \__/ _________ ____ __ _______ _______ _ ______________ __ ___________ ______ / ___/ __ \/ __ \/ //_/ _/ |/ / ___/ | | /| / / _/_ __/ // / / __/ _/ _ \/ __/ / / /__/ /_/ / /_/ / ,< _/ // / (_ / | |/ |/ // / / / / _ / / _/_/ // , _/ _//_/ \___/\____/\____/_/|_/___/_/|_/\___/ |__/|__/___/ /_/ /_//_/ /_/ /___/_/|_/___(_) Your app has been initialized! Go to the directory where your app was initialized and run Run lando start to get rolling. Check the LOCATION printed below if you are unsure where to go. Oh... and here are some vitals: NAME recipe-test LOCATION /tmp/recipe-test RECIPE drupal10 DOCS https://docs.lando.dev/config/drupal10.html ## Start Lando, but don't wait for HTTP checks as site not installed. chris@thip:/tmp/recipe-test$ lando start Let's get this party started! Starting app recipe-test... landoproxyhyperion5000gandalfedition_proxy_1 is up-to-date Creating network "recipetest_default" with the default driver Creating volume "recipetest_data_appserver" with default driver Creating volume "recipetest_home_appserver" with default driver Creating volume "recipetest_data_database" with default driver Creating volume "recipetest_home_database" with default driver Creating recipetest_appserver_1 ... done All settings correct for using Composer Downloading... Composer (version 2.2.18) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer Killing recipetest_appserver_1 ... done Starting recipetest_appserver_1 ... done Creating recipetest_database_1 ... done [+] Healthchecking 1/1 ✔ Healthcheck recipetest_database_1 Passed ___ __ __ __ __ ________ / _ )___ ___ __ _ ___ / / ___ _/ /_____ _/ /__ _/ /_____ _/ / / / / / _ / _ \/ _ \/ ' \(_-=18 <25 range. If you have purposefully installed an unsupported version and know what you are doing you can probably ignore this. If not we recommend you use a supported version as this ensures we can provide the best support and stability. https://docs.docker.com/engine/install/debian/#install-using-the-convenience-script Here are some vitals: NAME recipe-test LOCATION /tmp/recipe-test SERVICES appserver, database URLS ❯ APPSERVER URLS ✔ https://localhost:32819 [404] ✔ http://localhost:32820 [404] ⠙ http://recipe-test.lndo.site/ 3/25 [ENOTFOUND] ⠙ https://recipe-test.lndo.site/ 3/25 [ENOTFOUND] ## Interrupted with CTRL+C - not waiting for http checks when code not yet present ## I can't recall how you `composer create` into a non-empty directory, ## so I used a temporary tmp/ directory. chris@thip:/tmp/recipe-test$ lando composer create drupal/recommended-project tmp Creating a "drupal/recommended-project" project at "./tmp" Installing drupal/recommended-project (10.2.4) - Installing drupal/recommended-project (10.2.4): Extracting archive Created project in /app/tmp Installing dependencies from lock file (including require-dev) Verifying lock file contents can be installed on current platform. Package operations: 62 installs, 0 updates, 0 removals - Installing composer/installers (v2.2.0): Extracting archive - Installing drupal/core-composer-scaffold (10.2.4): Extracting archive - Installing drupal/core-project-message (10.2.4): Extracting archive - Installing symfony/polyfill-php80 (v1.29.0): Extracting archive - Installing symfony/polyfill-mbstring (v1.28.0): Extracting archive - Installing symfony/polyfill-ctype (v1.28.0): Extracting archive - Installing twig/twig (v3.8.0): Extracting archive - Installing symfony/deprecation-contracts (v3.4.0): Extracting archive - Installing symfony/yaml (v6.4.3): Extracting archive - Installing symfony/var-exporter (v6.4.4): Extracting archive - Installing symfony/var-dumper (v6.4.4): Extracting archive - Installing symfony/translation-contracts (v3.4.1): Extracting archive - Installing symfony/polyfill-php83 (v1.28.0): Extracting archive - Installing symfony/validator (v6.4.4): Extracting archive - Installing symfony/polyfill-intl-normalizer (v1.28.0): Extracting archive - Installing symfony/polyfill-intl-grapheme (v1.28.0): Extracting archive - Installing symfony/string (v6.4.4): Extracting archive - Installing psr/container (2.0.2): Extracting archive - Installing symfony/service-contracts (v3.4.1): Extracting archive - Installing symfony/serializer (v6.4.4): Extracting archive - Installing symfony/routing (v6.4.5): Extracting archive - Installing symfony/http-foundation (v6.4.4): Extracting archive - Installing psr/http-message (2.0): Extracting archive - Installing symfony/psr-http-message-bridge (v6.4.3): Extracting archive - Installing symfony/process (v6.4.4): Extracting archive - Installing symfony/polyfill-php72 (v1.29.0): Extracting archive - Installing symfony/polyfill-intl-idn (v1.28.0): Extracting archive - Installing symfony/polyfill-iconv (v1.28.0): Extracting archive - Installing symfony/mime (v6.4.3): Extracting archive - Installing psr/event-dispatcher (1.0.0): Extracting archive - Installing symfony/event-dispatcher-contracts (v3.4.0): Extracting archive - Installing symfony/event-dispatcher (v6.4.3): Extracting archive - Installing psr/log (3.0.0): Extracting archive - Installing doctrine/deprecations (1.1.3): Extracting archive - Installing doctrine/lexer (2.1.1): Extracting archive - Installing egulias/email-validator (4.0.2): Extracting archive - Installing symfony/mailer (v6.4.4): Extracting archive - Installing symfony/error-handler (v6.4.4): Extracting archive - Installing symfony/http-kernel (v6.4.5): Extracting archive - Installing symfony/finder (v6.4.0): Extracting archive - Installing symfony/filesystem (v6.4.3): Extracting archive - Installing symfony/dependency-injection (v6.4.4): Extracting archive - Installing symfony/console (v6.4.4): Extracting archive - Installing sebastian/diff (4.0.6): Extracting archive - Installing ralouphie/getallheaders (3.0.3): Extracting archive - Installing psr/http-factory (1.0.2): Extracting archive - Installing psr/http-client (1.0.3): Extracting archive - Installing psr/cache (3.0.0): Extracting archive - Installing pear/pear_exception (v1.0.2): Extracting archive - Installing pear/console_getopt (v1.4.3): Extracting archive - Installing pear/pear-core-minimal (v1.10.14): Extracting archive - Installing pear/archive_tar (1.4.14): Extracting archive - Installing mck89/peast (v1.15.4): Extracting archive - Installing masterminds/html5 (2.8.1): Extracting archive - Installing guzzlehttp/psr7 (2.6.2): Extracting archive - Installing guzzlehttp/promises (2.0.2): Extracting archive - Installing guzzlehttp/guzzle (7.8.1): Extracting archive - Installing doctrine/annotations (1.14.3): Extracting archive - Installing composer/semver (3.4.0): Extracting archive - Installing asm89/stack-cors (v2.2.0): Extracting archive - Installing drupal/core (10.2.4): Extracting archive - Installing drupal/core-recommended (10.2.4) Generating autoload files 42 packages you are using are looking for funding. Use the `composer fund` command to find out more! Scaffolding files for drupal/core: - Copy [project-root]/.editorconfig from assets/scaffold/files/editorconfig - Copy [project-root]/.gitattributes from assets/scaffold/files/gitattributes - Copy [web-root]/.csslintrc from assets/scaffold/files/csslintrc - Copy [web-root]/.eslintignore from assets/scaffold/files/eslintignore - Copy [web-root]/.eslintrc.json from assets/scaffold/files/eslintrc.json - Copy [web-root]/.ht.router.php from assets/scaffold/files/ht.router.php - Copy [web-root]/.htaccess from assets/scaffold/files/htaccess - Copy [web-root]/example.gitignore from assets/scaffold/files/example.gitignore - Copy [web-root]/index.php from assets/scaffold/files/index.php - Copy [web-root]/INSTALL.txt from assets/scaffold/files/drupal.INSTALL.txt - Copy [web-root]/README.md from assets/scaffold/files/drupal.README.md - Copy [web-root]/robots.txt from assets/scaffold/files/robots.txt - Copy [web-root]/update.php from assets/scaffold/files/update.php - Copy [web-root]/web.config from assets/scaffold/files/web.config - Copy [web-root]/sites/README.txt from assets/scaffold/files/sites.README.txt - Copy [web-root]/sites/development.services.yml from assets/scaffold/files/development.services.yml - Copy [web-root]/sites/example.settings.local.php from assets/scaffold/files/example.settings.local.php - Copy [web-root]/sites/example.sites.php from assets/scaffold/files/example.sites.php - Copy [web-root]/sites/default/default.services.yml from assets/scaffold/files/default.services.yml - Copy [web-root]/sites/default/default.settings.php from assets/scaffold/files/default.settings.php - Copy [web-root]/modules/README.txt from assets/scaffold/files/modules.README.txt - Copy [web-root]/profiles/README.txt from assets/scaffold/files/profiles.README.txt - Copy [web-root]/themes/README.txt from assets/scaffold/files/themes.README.txt * Homepage: https://www.drupal.org/project/drupal * Support: * docs: https://www.drupal.org/docs/user_guide/en/index.html * chat: https://www.drupal.org/node/314178 Congratulations, you’ve installed the Drupal codebase from the drupal/recommended-project template! Next steps: * Install the site: https://www.drupal.org/docs/installing-drupal * Read the user guide: https://www.drupal.org/docs/user_guide/en/index.html * Get support: https://www.drupal.org/support * Get involved with the Drupal community: https://www.drupal.org/getting-involved * Remove the plugin that prints this message: composer remove drupal/core-project-message * Homepage: https://www.drupal.org/project/drupal * Support: * docs: https://www.drupal.org/docs/user_guide/en/index.html * chat: https://www.drupal.org/node/314178 ## Now I have to move stuff out of the tmp directory. ## Maybe DDev hides the `.ddev/` directory in the container? chris@thip:/tmp/recipe-test$ mv tmp/* tmp/. ./ ../ .editorconfig .gitattributes chris@thip:/tmp/recipe-test$ mv tmp/* tmp/.editorconfig tmp/.gitattributes . ## Continuing with install process ... chris@thip:/tmp/recipe-test$ lando composer require drush/drush Using version ^12.4 for drush/drush ./composer.json has been updated Running composer update drush/drush Loading composer repositories with package information Updating dependencies Lock file operations: 22 installs, 0 updates, 0 removals - Locking chi-teck/drupal-code-generator (3.4.0) - Locking consolidation/annotated-command (4.9.2) - Locking consolidation/config (2.1.2) - Locking consolidation/filter-via-dot-access-data (2.0.2) - Locking consolidation/log (3.0.0) - Locking consolidation/output-formatters (4.3.2) - Locking consolidation/robo (4.0.6) - Locking consolidation/self-update (2.2.0) - Locking consolidation/site-alias (4.0.1) - Locking consolidation/site-process (5.2.0) - Locking dflydev/dot-access-data (v3.0.2) - Locking drush/drush (12.4.4) - Locking grasmash/expander (3.0.0) - Locking grasmash/yaml-cli (3.1.0) - Locking league/container (4.2.2) - Locking nikic/php-parser (v5.0.2) - Locking phootwork/collection (v3.2.2) - Locking phootwork/lang (v3.2.2) - Locking phpowermove/docblock (v4.0) - Locking psy/psysh (v0.12.1) - Locking symfony/polyfill-php81 (v1.29.0) - Locking webflo/drupal-finder (1.2.2) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 22 installs, 0 updates, 0 removals - Installing consolidation/log (3.0.0): Extracting archive - Installing consolidation/self-update (2.2.0): Extracting archive - Installing webflo/drupal-finder (1.2.2): Extracting archive - Installing nikic/php-parser (v5.0.2): Extracting archive - Installing psy/psysh (v0.12.1): Extracting archive - Installing league/container (4.2.2): Extracting archive - Installing dflydev/dot-access-data (v3.0.2): Extracting archive - Installing grasmash/yaml-cli (3.1.0): Extracting archive - Installing grasmash/expander (3.0.0): Extracting archive - Installing consolidation/config (2.1.2): Extracting archive - Installing consolidation/site-alias (4.0.1): Extracting archive - Installing consolidation/site-process (5.2.0): Extracting archive - Installing symfony/polyfill-php81 (v1.29.0): Extracting archive - Installing phootwork/lang (v3.2.2): Extracting archive - Installing phootwork/collection (v3.2.2): Extracting archive - Installing phpowermove/docblock (v4.0): Extracting archive - Installing consolidation/output-formatters (4.3.2): Extracting archive - Installing consolidation/annotated-command (4.9.2): Extracting archive - Installing consolidation/robo (4.0.6): Extracting archive - Installing consolidation/filter-via-dot-access-data (2.0.2): Extracting archive - Installing chi-teck/drupal-code-generator (3.4.0): Extracting archive - Installing drush/drush (12.4.4): Extracting archive 4 package suggestions were added by new dependencies, use `composer suggest` to see details. Generating autoload files 45 packages you are using are looking for funding. Use the `composer fund` command to find out more! ## Drush site-install, adding DB creds for Lando. ## I also used minimal profile here - when I used standard, there were config ## clashes between blocks from standard and blocks from the recipe. chris@thip:/tmp/recipe-test$ lando drush si --account-name=admin --account-pass=admin minimal -y --db-url=mysql://drupal10:drupal10@database/drupal10 You are about to: * DROP all tables in your 'drupal10' database. // Do you want to continue?: yes. [notice] Starting Drupal installation. This takes a while. [notice] Performed install task: install_select_language [notice] Performed install task: install_select_profile [notice] Performed install task: install_load_profile [notice] Performed install task: install_verify_requirements [notice] Performed install task: install_verify_database_ready [notice] Performed install task: install_base_system [notice] Performed install task: install_bootstrap_full [notice] Performed install task: install_profile_modules [notice] Performed install task: install_profile_themes [notice] Performed install task: install_install_profile [notice] Performed install task: install_configure_form [notice] Performed install task: install_finished [success] Installation complete. ## This next section is s2.sh chris@thip:/tmp/recipe-test$ lando composer config minimum-stability dev chris@thip:/tmp/recipe-test$ lando composer config allow-plugins.cweagans/composer-patches true chris@thip:/tmp/recipe-test$ lando composer require cweagans/composer-patches Using version ^1.7 for cweagans/composer-patches ./composer.json has been updated Running composer update cweagans/composer-patches Loading composer repositories with package information Updating dependencies Lock file operations: 1 install, 0 updates, 0 removals - Locking cweagans/composer-patches (1.7.3) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 1 install, 0 updates, 0 removals - Downloading cweagans/composer-patches (1.7.3) - Installing cweagans/composer-patches (1.7.3): Extracting archive Generating autoload files 45 packages you are using are looking for funding. Use the `composer fund` command to find out more! chris@thip:/tmp/recipe-test$ lando composer config extra.patches --merge --json '{"drupal/core": {"Allow recipes to be applied": "https://git.drupalcode.org/project/distributions_recipes/-/raw/patch/recipe-10.2.x.patch?cachebuster=1"}}' chris@thip:/tmp/recipe-test$ lando composer update drupal/core Gathering patches for root package. Removing package drupal/core so that it can be re-installed and re-patched. - Removing drupal/core (10.2.4) Deleting /app/web/core - deleted Loading composer repositories with package information Updating dependencies Nothing to modify in lock file Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 1 install, 0 updates, 0 removals Gathering patches for root package. Gathering patches for dependencies. This might take a minute. - Installing drupal/core (10.2.4): Extracting archive - Applying patches for drupal/core https://git.drupalcode.org/project/distributions_recipes/-/raw/patch/recipe-10.2.x.patch?cachebuster=1 (Allow recipes to be applied) Generating autoload files 45 packages you are using are looking for funding. Use the `composer fund` command to find out more! chris@thip:/tmp/recipe-test$ lando composer config allow-plugins.oomphinc/composer-installers-extender true chris@thip:/tmp/recipe-test$ lando composer config extra.installer-types --merge --json '["drupal-recipe"]' chris@thip:/tmp/recipe-test$ lando composer config extra.installer-paths --merge --json '{"web/recipes/contrib/{$name}": ["type:drupal-recipe"]}' chris@thip:/tmp/recipe-test$ lando composer require oomphinc/composer-installers-extender Using version ^2.0 for oomphinc/composer-installers-extender ./composer.json has been updated Running composer update oomphinc/composer-installers-extender Gathering patches for root package. Loading composer repositories with package information Updating dependencies Lock file operations: 1 install, 0 updates, 0 removals - Locking oomphinc/composer-installers-extender (2.0.1) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 1 install, 0 updates, 0 removals - Downloading oomphinc/composer-installers-extender (2.0.1) Gathering patches for root package. Gathering patches for dependencies. This might take a minute. - Installing oomphinc/composer-installers-extender (2.0.1): Extracting archive Generating autoload files 45 packages you are using are looking for funding. Use the `composer fund` command to find out more! chris@thip:/tmp/recipe-test$ lando composer config allow-plugins.ewcomposer/unpack true chris@thip:/tmp/recipe-test$ lando composer config repo.recipe-unpack vcs https://gitlab.ewdev.ca/yonas.legesse/drupal-recipe-unpack.git chris@thip:/tmp/recipe-test$ lando composer require ewcomposer/unpack:1.x-dev@dev ./composer.json has been updated Running composer update ewcomposer/unpack Gathering patches for root package. Loading composer repositories with package information Updating dependencies Lock file operations: 1 install, 0 updates, 0 removals - Locking ewcomposer/unpack (1.x-dev c47f29a) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 1 install, 0 updates, 0 removals - Syncing ewcomposer/unpack (1.x-dev c47f29a) into cache Gathering patches for root package. Gathering patches for dependencies. This might take a minute. - Installing ewcomposer/unpack (1.x-dev c47f29a): Cloning c47f29a765 from cache Generating autoload files 45 packages you are using are looking for funding. Use the `composer fund` command to find out more! chris@thip:/tmp/recipe-test$ lando composer config repo.kalamuna/recipes vcs https://gitlab.com/kevinquillen/drupal-base chris@thip:/tmp/recipe-test$ lando composer require kevinquillen/drupal-base Using version ^1.0@alpha for kevinquillen/drupal-base ./composer.json has been updated Running composer update kevinquillen/drupal-base Gathering patches for root package. Loading composer repositories with package information Updating dependencies Lock file operations: 15 installs, 0 updates, 0 removals - Locking drupal/config_ignore (3.2.0) - Locking drupal/csp (1.30.0) - Locking drupal/ctools (4.0.4) - Locking drupal/field_group (3.4.0) - Locking drupal/gin (3.0.0-rc9) - Locking drupal/gin_login (2.0.3) - Locking drupal/gin_toolbar (1.0.0-rc5) - Locking drupal/memcache (2.5.0) - Locking drupal/menu_block (1.10.0) - Locking drupal/metatag (1.26.0) - Locking drupal/pathauto (1.12.0) - Locking drupal/redirect (1.9.0) - Locking drupal/robotstxt (1.5.0) - Locking drupal/token (1.13.0) - Locking kevinquillen/drupal-base (1.0.0-alpha4) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 15 installs, 0 updates, 0 removals - Downloading drupal/ctools (4.0.4) - Downloading drupal/token (1.13.0) - Downloading drupal/robotstxt (1.5.0) - Downloading drupal/redirect (1.9.0) - Downloading drupal/pathauto (1.12.0) - Downloading drupal/metatag (1.26.0) - Downloading drupal/menu_block (1.10.0) - Downloading drupal/memcache (2.5.0) - Downloading drupal/gin_toolbar (1.0.0-rc5) - Downloading drupal/gin_login (2.0.3) - Downloading drupal/gin (3.0.0-rc9) - Downloading drupal/field_group (3.4.0) - Downloading drupal/csp (1.30.0) - Downloading drupal/config_ignore (3.2.0) - Downloading kevinquillen/drupal-base (1.0.0-alpha4) Gathering patches for root package. Gathering patches for dependencies. This might take a minute. - Installing drupal/ctools (4.0.4): Extracting archive - Installing drupal/token (1.13.0): Extracting archive - Installing drupal/robotstxt (1.5.0): Extracting archive - Installing drupal/redirect (1.9.0): Extracting archive - Installing drupal/pathauto (1.12.0): Extracting archive - Installing drupal/metatag (1.26.0): Extracting archive - Installing drupal/menu_block (1.10.0): Extracting archive - Installing drupal/memcache (2.5.0): Extracting archive - Installing drupal/gin_toolbar (1.0.0-rc5): Extracting archive - Installing drupal/gin_login (2.0.3): Extracting archive - Installing drupal/gin (3.0.0-rc9): Extracting archive - Installing drupal/field_group (3.4.0): Extracting archive - Installing drupal/csp (1.30.0): Extracting archive - Installing drupal/config_ignore (3.2.0): Extracting archive - Installing kevinquillen/drupal-base (1.0.0-alpha4): Extracting archive Generating autoload files 48 packages you are using are looking for funding. Use the `composer fund` command to find out more! ## Let's check we got those recipes! chris@thip:/tmp/recipe-test$ ls web/recipes/contrib/drupal-base/ composer.json config recipe.yml ## Site seems legit chris@thip:/tmp/recipe-test$ lando drush status Drupal version : 10.2.4 Site URI : http://default DB driver : mysql DB hostname : database DB port : DB username : drupal10 DB name : drupal10 Database : Connected Drupal bootstrap : Successful Default theme : stark Admin theme : seven PHP binary : /usr/local/bin/php PHP OS : Linux PHP version : 8.1.27 Drush script : /app/vendor/bin/drush Drush version : 12.4.4.0 Drush temp : /tmp Drush configs : /app/vendor/drush/drush/drush.yml Install profile : minimal Drupal root : /app/web Site path : sites/default Files, Public : sites/default/files Files, Temp : /tmp chris@thip:/tmp/recipe-test$ lando drush uli http://default/user/reset/1/1710529893/CIHntSJ7dpBwKv6L3SsRQ1q7Qqm885YA3GQZTV3ufs8/login ## Apply recipe, switching to the webroot before doing so. ## Ref: https://git.drupalcode.org/project/distributions_recipes/-/blob/1.0.x/docs/getting_started.md#applying-a-recipe chris@thip:/tmp/recipe-test$ lando ssh www-data@736db7562afc:/app$ cd web/ www-data@736db7562afc:/app/web$ php core/scripts/drupal recipe recipes/contrib/drupal-base [OK] Drupal Base applied successfully