Lando is for developers who want to quickly specify and painlessly spin up the services and tools needed to develop their projects.
It's a free, open source, cross-platform, local development environment and DevOps tool built on Docker container technology and developed by Tandem. Designed to work with most major languages, frameworks and services, Lando provides an easy way for developers of all types to specify simple or complex requirements for their projects, and then quickly get to work on them. Think of it as your local development's dependency management tool. It can even be installed right beside an old Kalabox installation with no interference, or used as a complete upgrade-replacement.
With Lando you can...
- Easily mimic your production environment locally.
- Standardize your teams dev environments and tooling on OSX, Windows and Linux.
- Integrate with hosting providers like Pantheon
- Store all of the above in a version controlled config file called
- Easily customize or extend tooling, deployment options and basically any other functionality.
- Free yourself from the tyranny of inferior local development products.
- Using Composer to Manage a Project
- Lando and CI
- Lando, Pantheon, CI, and Behat (BDD)
- Killer D8 Workflow with Platform.sh
- Adding additional services
- Adding additional tooling
- Adding additional routes
- Adding additional events
- Setting up front end tooling
- Accessing services (eg your database) from the host
- Importing SQL databases
- Exporting SQL databases
A developer should be able to get a running site and the tools needed to develop that site with a single, short config file called
.lando.yml that lives in the root directory of your project and a few
git clone myproject.git cd myproject lando start
cd /path/to/my/local/code lando init lando start
mkdir -p mysite cd mysite lando init pantheon | lando init github lando start
You can also easily configure a
name: myproject recipe: lamp config: php: '7.1' webroot: www database: postgres:9.6 config: php: config/php.ini
or go totally nuts and scaffold out a custom stack
name: myproject recipe: lamp config: php: '7.1' webroot: www database: postgres:9.6 config: php: config/php.ini events: post-start: - appserver: echo SOMECOMMAND - echo SOMETHINGELSE post-mycustomthing: - echo TEST services: node: type: node:6.10 globals: grunt-cli: "latest" build: - cd /app && npm install --production appserver: build: - cd /app && composer install mailhog: type: mailhog hogfrom: - appserver cache: type: memcached:1.4 mem: 128 search: type: solr:5.5 core: hard tooling: node: service: node npm: service: node grunt: service: node mycustomthing: service: appserver cmd: ps