Lando is for developers who want to:
- Quickly specify and painlessly spin up the services and tooling needed to develop their projects.
- Ship these local development dependencies in a per-project, lives-in-git config file
- Automate complex build steps, testing setups, deployments or other repeated-more-than-once workflows
- Avoid the built-in-masochism of directly using
docker
ordocker-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 skill levels to specify simple or complex requirements for their projects, and then quickly get to work on them.
Think of it as your local development dependency management and automation tool. Note that while you can run Lando in production it is highly discouraged, not recommended and 100% not supported!
- Mimicking your production environment locally
- Standardizing your teams dev environments and tooling on OSX, Windows and Linux
- Integrating with hosting providers like Pantheon
- Customizing or extending tooling, deployment options and basically any other functionality
- Running CI tests locally, running local tests in CI
- Using a single local development environment for all your projects
- Freeing yourself from the tyranny of inferior local development products
Yes! Well, sort of. You can think of Lando as both an abstraction layer and superset of Docker Compose as well as a Docker Compose utility.
As an abstraction layer Lando vastly reduces the complexity of spinning up containers by exposing only the most relevant config for a given "service" and setting "sane defaults". Lando also provides "recipes" which are common combinations of services and their tooling that satisfy a given development use case eg Drupal, Python, Laravel, Dotnet, etc.
As a superset Lando provides ways for developers to run complex commands, build steps and automation on their services without the hassle of custom Dockerfiles or long "docker exec" commands. Think lando yarn add express
. Think clear my applications cache after I import a database. Think install this php-extension
before my appserver starts and then composer install
after it does.
As a utility Lando handles some of the more arduous setup required for a good Docker Compose setup eg proxying, nice urls, cross-application networking (think Vue.js frontend talking to separate Laravel backend), host-container file permission handling, file sharing, per-container SSL certificate handling, ssh-key handling, etc.
And! If you don't like the default choices we've made all of the above is highly configurable down to the Docker Compose level itself!
- apache
- elasticsearch
- mailhog
- mariadb
- memcached
- mongo
- mssql
- mysql
- nginx
- phpmyadmin
- postgres
- redis
- solr
- tomcat
- varnish
- CLI
- Landofiles
- Environment
- Events
- Networking
- Proxy
- Recipes
- Services
- Tooling
- SSH Keys
- SSL/TLS
- Shared Files
- Global Config
- Updating your Landofiles to 3.0.0-rc.2+
- Accessing Your Services Externally
- Accessing Lando from Other Devices
- Exporting Databases
- Importing Databases
- Killer D8 Workflow with Platform.sh
- Lando + PhpStorm + Xdebug
- Offline Development
- Using $LANDO_INFO
- Using NodeJS Frontend Tooling
- Using Lando in Visual Studio Code
- Climbing a mountain for love
- DNS Rebinding Protection
- File Uploads on Windows
- File Syncing Stalled
- Running VB and HyperV
- Running behind a proxy
- Switching Database Config
- Apache
- Compose
- Dotnet
- Elasticsearch
- Go
- MailHog
- MariaDB
- Memcached
- mongo
- MSSQL
- mysql
- nginx
- node
- PHP
- PhpMyAdmin
- Postgres
- Python
- Redis
- Ruby
- Solr
- Tomcat
- Varnish
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.