Giter Club home page Giter Club logo

lando's Introduction

Lando

screenshot

Lando is for developers who want to easily specifiy and quickly spin up the services and tools needed to develop their projects.

Lando is a free, open source and cross-platform local development environment and DevOps tool built on Docker container technology and developed by Tandem. It is designed to work with most major languages, frameworks and services and to provide an easy way for users to specify simple or complex development requirements for their projects.

In that way it can be thought of as a development dependency management tool.

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.

Begin by checking out the

Then spin up one of our preconfigured recipe start states

Or build up from a base language

And then mix in additional auxiliary services

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

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

lando's People

Contributors

aaronfeledy avatar alexfornuto avatar btmash avatar dustinleblanc avatar jakebellacera avatar jeffm2001 avatar kurtschlatzer avatar mirnaxvb avatar mmenavas avatar pirog avatar ptmkenny avatar reynoldsalec avatar robloach avatar serundeputy avatar shaal avatar uberhacker avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.