You look absolutely beautiful!
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci #1144: Move circle lando config to the right place Sep 9, 2018
.github #1144: Update docs to reflect new RC1 things Sep 8, 2018
.platform Remove https Aug 15, 2018
bin #1036: Refactor docker.js to be more testable and maintainable Jun 13, 2018
docs Adding vid tutorial Lando + PhpStorm + Xdebug. Dec 8, 2018
examples Check terminus is installed Nov 20, 2018
installer #1144: Force bump vm.max_map_count on linux installer Sep 9, 2018
lib WIP Jun 25, 2018
plugins fix maven version for Pantheon images Nov 21, 2018
scripts Fix the bump Sep 11, 2018
test #1144: Sleep it out and see what happens Sep 11, 2018
.bookignore #4: Basic doc scaffolding May 2, 2017
.editorconfig Add .editorconfig file Jan 9, 2018
.eslintrc.json #789: Switch most of our non-plugins stuff to stricter es6 googlisms Jun 4, 2018
.gitattributes #620: Changelog and get .gitattributes to play nice with appveyor Jan 12, 2018
.gitignore #1144: What does a splitfile do anyway? Sep 7, 2018
.lando.yml #1144: Update docs to reflect new RC1 things Sep 8, 2018
.node-version #1036: Bump to node 10 for initial new LTS testng Jun 24, 2018
.platform.app.yaml Automate letsencrypt cert renewal on platform.sh. Aug 14, 2018
.tool-versions #1036: MOAR TESTS Aug 2, 2018
.travis.yml Add coverage tracking Jun 2, 2018
LICENSE.md PERMS Aug 23, 2017
README.md #1144: Update docs to reflect new RC1 things Sep 8, 2018
TERMS.md Correct entity names. Dec 1, 2017
appveyor.yml #620: Improve new YARN things a bit Feb 7, 2018
book.json Adding adsense plugin and config. Aug 15, 2018
config.yml #822: Confirm variable proxy support Sep 3, 2018
package.json Release v3.0.0-rc.1 Sep 11, 2018
yarn.lock #1144: Added func test templating functionz Sep 7, 2018

README.md

Lando

screenshot

Lando is for developers who want to:

  1. Quickly specify and painlessly spin up the services and tools needed to develop their projects.
  2. Specify these local development dependencies in a per-project, lives-in-git config file called .lando.yml
  3. Automate complex build steps, testing setups, deployments or other repeated-more-than-once workflows
  4. Avoid the built-in-masochism of directly using docker or docker-compose

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 and automation 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 also...

  • Easily mimic your production environment locally.
  • Standardize your teams dev environments and tooling on OSX, Windows and Linux.
  • Integrate with hosting providers like Pantheon
  • Easily customize or extend tooling, deployment options and basically any other functionality.
  • Free yourself from the tyranny of inferior local development products.

For the more technically curious, Lando is actually 2 separate abstraction layers built on top of Docker Compose.

Begin by checking out

Then try out one of our preconfigured recipe start states

Or build up from a base language

And then mix in additional auxiliary services

And then get some pro workflow dialed

And then try out some advanced stuff

And then dive deep into reference materials

Or TL;DR

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 lando commands.

1. Pull a repo that already has a .lando.yml

git clone myproject.git
cd myproject
lando start

2. Or init a local codebase with a lando recipe

cd /path/to/my/local/code
lando init
lando start

Note: Lando will not spin up a new codebase for you unless you init with either the pantheon or github method (see below). Otherwise, remember to always have an already existing project to init from.

3. Or pull from GitHub or Pantheon

mkdir -p mysite
cd mysite
lando init pantheon | lando init github
lando start

You can also easily configure a lando.yml recipe

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"
    run:
      - cd /app && npm install --production
  appserver:
    run:
      - 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

Security Issues

If you have discovered a security issue with Lando, please contact the Lando Security Team directly at security@devwithlando.io. We manage security issues separately in a private repository until the issue has been resolved. Even if you're not sure if it's a security problem, please contact the security team before filing an issue, blogging, or tweeting about it.

Other Resources