PHPackages                             wunderio/lando-drupal - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. wunderio/lando-drupal

ActiveComposer-plugin

wunderio/lando-drupal
=====================

Wunder's extendable template for Lando Drupal projects.

0.7.0(2y ago)03.7k[18 issues](https://github.com/wunderio/lando-drupal/issues)[1 PRs](https://github.com/wunderio/lando-drupal/pulls)GPL-2.0-or-laterShell

Since Sep 23Pushed 2y ago1 watchersCompare

[ Source](https://github.com/wunderio/lando-drupal)[ Packagist](https://packagist.org/packages/wunderio/lando-drupal)[ Docs](https://github.com/wunderio/lando-drupal)[ RSS](/packages/wunderio-lando-drupal/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (3)Versions (37)Used By (0)

Wunder template for Lando Drupal projects
=========================================

[](#wunder-template-for-lando-drupal-projects)

This is a template for Lando Drupal projects for defining the base Lando setup for Drupal. It creates .lando.base.yml file and .lando/core/ folder. You still need .lando.yml to define minimally the *name* and *recipe* parameter.

Installation
------------

[](#installation)

1. Move your current .lando/\* files to .lando/custom/ and change the references in .lando.yml. Next step will add new .lando/core/ folder.
2. Install the composer package:

    ```
    composer require wunderio/lando-drupal --dev

    ```
3. Add changes to GIT:

    ```
    git add .lando/core/ &&
    git add .lando/custom/ &&
    git add drush/sites/ &&
    git add .lando.base.yml &&
    git add -p composer.json composer.lock

    ```
4. Depending on your project either create or update your .lando.yml.

    If you are creating new project, then you need to create .lando.yml file with the following:

    ```
    name: your-project-name
    recipe: drupal10

    ```

    In case you already had .lando.yml then remove anything that already exists in .lando.base.yml.
5. Optionally enable custom extensions eg node and then rebuild Lando:

    ```
    lando load-wunderio-lando-drupal-extensions node
    lando rebuild

    ```

    All available extensions are listed at
6. We need to migrate build steps due to the inability to overwrite them from .lando.yml. For instance, in the current setup in .lando.base.yml file we have this:

    ```
    services:
      appserver:
        build:
          - "/app/.lando/core/_run-scripts.sh services-appserver-build.sh"

    ```

    The above executes services-appserver-build.sh script from .lando/core/ folder, and it runs *composer install*.

    If now in your .lando.yml you have also *composer install* in the same build step, then this is also executed. Basically Lando stacks the commands in build steps.

    ```
    services:
      appserver:
       build:
         - "composer install"

    ```

    To resolve this issue, the recommended approach is to remove the build step from .lando.yml. Instead, copy the .lando/core/services-appserver-build.sh file to your .lando/custom/ folder. Then, customize it to suit your preferences. The line in .lando.base.yml - '/app/.lando/core/\_run-scripts.sh services-appserver-build.sh' - will first check for the presence of services-appserver-build.sh in the .lando/custom/ folder. If it's not found, it will execute it from .lando/core/."

Overview
--------

[](#overview)

**Configuration Overview:**

- **Name:** drupal-project
- **Recipe:** drupal10

**PHP and Web Server:**

- **PHP Version:** 8.1
- **Web Server:** Nginx
- **Webroot:** web

**Database:**

- **Database Version:** MariaDB 10.3

**Composer:**

- **Composer Version:** 2

**Xdebug:**

- **Xdebug Mode:** Off (enabled by `lando xdebug` command)

**Custom Configuration Files:**

- Custom PHP configuration file: .lando/core/php.ini
- Custom database configuration file: .lando/core/my.cnf

**Tooling Commands:**

- **composer:** Runs Composer commands.
- **grumphp:** Runs GrumPHP commands.
- **phpunit:** Runs PHPUnit commands with custom options.
- **regenerate-phpunit-config:** Regenerates fresh PHPUnit configuration.
- **varnishadm:** Runs varnishadm commands.
- **xdebug:** Loads Xdebug in the selected mode.

Tooling commands that are defined as scripts (.lando/core/tooling-\*.sh files) can be overwritten by adding them in .lando/custom/ folder with the same name. Currently, there are 3 scripts:

- .lando/core/tooling-phpunit.sh
- .lando/core/tooling-regenerate-phpunit-config.sh
- .lando/core/tooling-xdebug.sh

**Services:**

- **appserver:** Configuration for the primary application server.
- - Sets the timezone to "Europe/Helsinki."
- - Defines environment variables including HASH\_SALT, ENVIRONMENT\_NAME, DB\_NAME\_DRUPAL, DB\_USER\_DRUPAL, DB\_PASS\_DRUPAL, DB\_HOST\_DRUPAL, DRUSH\_OPTIONS\_URI, VARNISH\_ADMIN\_HOST, XDEBUG\_MODE, and PHP\_IDE\_CONFIG.
- - Provides PHPUnit settings for headless Chrome.
- **adminer:** [Adminer database management tool](https://github.com/dehy/docker-adminer).
- **chrome:** Configuration for running Chrome WebDriver.
- **mailhog:** Configuration for MailHog, a mail testing tool.
- **proxy:** Configuration for proxy settings.

Service commands that are defined as scripts (.lando/core/services-\*.sh files) can be overwritten by adding them in .lando/custom/ folder with the same name. Currently, there are 2 script:

- .lando/core/services-adminer-run-as-root.sh
- .lando/core/services-appserver-build.sh

**Custom Events:**

- **post-db-import:** Custom event to rebuild Drupal cache and log in the local user after a database import.

**Environment File:**

- Uses an environment file located at .lando/contrib/.env.

**Lando Version:**

- Tested with Lando version v3.18.0.

**Notes:**

- This Lando configuration is designed for a Drupal 10 project.
- It includes custom PHP and database configuration files.
- Tooling commands are provided for Composer, GrumPHP, PHPUnit, Varnishadm, and Xdebug.
- Services are configured for the primary application server, Chrome WebDriver and MailHog.
- Custom events are defined to perform actions after a database import.
- The configuration is tested with Lando version 3.18.0.
- Please make sure to adjust any paths or configurations as needed for your specific project and environment.

Experimental
------------

[](#experimental)

### Snapshot tool

[](#snapshot-tool)

Based on [DDEV snapshot tool](https://ddev.readthedocs.io/en/latest/users/usage/commands/#snapshot), we've added experimental tool also here. It's by far not so complete tooling as in DDEV. Hopefully this will get to Lando officially one day - we've created issue at [lando/mariadb#37](https://github.com/lando/mariadb/issues/37)

Create named snapshot:

```
lando snapshot --name foobar
```

Or create snapshot with timestamp:

```
lando snapshot
```

Restore the snapshot named foobar

```
lando snapshot restore foobar
lando restart
```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~7 days

Recently: every ~16 days

Total

16

Last Release

853d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3274758?v=4)[Wunder](/maintainers/wunderio)[@wunderio](https://github.com/wunderio)

---

Top Contributors

[![hkirsman](https://avatars.githubusercontent.com/u/492375?v=4)](https://github.com/hkirsman "hkirsman (99 commits)")

### Embed Badge

![Health badge](/badges/wunderio-lando-drupal/health.svg)

```
[![Health](https://phpackages.com/badges/wunderio-lando-drupal/health.svg)](https://phpackages.com/packages/wunderio-lando-drupal)
```

###  Alternatives

[humbug/box

Fast, zero config application bundler with PHARs.

1.3k801.5k69](/packages/humbug-box)[vaimo/composer-patches

Applies a patch from a local or remote file to any package that is part of a given composer project. Patches can be defined both on project and on package level. Optional support for patch versioning, sequencing, custom patch applier configuration and patch command for testing/troubleshooting added patches.

2994.3M16](/packages/vaimo-composer-patches)[drupal/core-recommended

Locked core dependencies; require this project INSTEAD OF drupal/core.

6939.5M343](/packages/drupal-core-recommended)[mglaman/composer-drupal-lenient

1317.4M15](/packages/mglaman-composer-drupal-lenient)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5341.9M446](/packages/drupal-core-composer-scaffold)[roots/wordpress-core-installer

A Composer custom installer to handle installing WordPress as a dependency

4115.6M19](/packages/roots-wordpress-core-installer)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
