Skip to content

jeffm2001/lando

 
 

Repository files navigation

Lando

screenshot

Lando is a free, open source and cross-platform local development environment tool built on Docker container technology. It is the successor project to Kalabox.

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 .lando.yml
  • Easily customize or extend tooling, deployment options and basically any other functionality.
  • Free yourself from the tyranny of inferior local development products.

First Step

Get Started With...

Advanced Usage

References

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

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"
    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

Roadmap

Lando is seeking to eventually merge into and then replace the Kalabox project. This means that eventually Lando will have all the great features you've come to love in the Kalabox project. That said the primary high level goals for this transition are to

  • Provide a more reliable and robust underlying product
  • Replace MAMP and other local dev stacks
  • Reduce the complexity of building out complicated apps a la Pantheon
  • Implement a simple per-app configuration file that can be stored in version control
  • Provide mechanisms for packaging in development tools and build steps along with services

There are various features that need to be implemented to achieve the above.

  1. Transition the core framework
  2. Provide a services layer on top of docker compose
  3. Provide a build and tooling layer
  4. Provide additional core services and tools
  5. Provide a recipes layer on top of services
  6. Provide handling of upstream git remotes (lando init command)
  7. Provide an events layer
  8. Replicate Pantheon environment
  9. Integrate with Pantheon
  10. Build GUI

Other Resources

About

You look absolutely beautiful!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 77.1%
  • Shell 9.6%
  • ApacheConf 4.9%
  • Perl 3.9%
  • Inno Setup 2.4%
  • PHP 1.0%
  • Other 1.1%