37 |
38 |
39 |
40 |
43 |
44 |
46 |
--------------------------------------------------------------------------------
/.vitepress/theme/index.mjs:
--------------------------------------------------------------------------------
1 | import VPLTheme from '@lando/vitepress-theme-default-plus';
2 |
3 | export default VPLTheme;
4 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## v4.1.0 - [February 8, 2023](https://github.com/lando/docs/releases/tag/v4.1.0)
2 |
3 | * VitePressed
4 |
5 | ## v4.0.1 - [December 20, 2022](https://github.com/lando/docs/releases/tag/v4.0.1)
6 |
7 | * Rebased on new docs architecture
8 | * Removed WSL2 post until we can rework it for 2022
9 | * Upgraded to [vuepress-theme-default-plus@v1.0.0-beta.45](https://github.com/lando/vuepress-theme-default-plus/releases/tag/v1.0.0-beta.44)
10 |
11 | ## v4.0.0 - [February 26, 2022](https://github.com/lando/docs/releases/tag/v4.0.0)
12 |
13 | * Rebased on new docs architecture
14 | * Removed dangling `` in home footer
15 | * Upgraded to [vuepress-theme-default-plus@v1.0.0-beta.29](https://github.com/lando/vuepress-theme-default-plus/releases/tag/v1.0.0-beta.29)
16 |
17 | ## v0.1.2 - [December 3, 2021](https://github.com/lando/docs/releases/tag/v0.1.2)
18 |
19 | Lando is **free** and **open source** software that relies on contributions from developers like you! If you like Lando then help us spend more time making, updating and supporting it by [contributing](https://github.com/sponsors/lando).
20 |
21 | [Various Changes](https://github.com/lando/docs/compare/v0.1.1...v0.1.2)
22 |
23 | ## v0.1.1 - [December 3, 2021](https://github.com/lando/docs/releases/tag/v0.1.1)
24 |
25 | Lando is **free** and **open source** software that relies on contributions from developers like you! If you like Lando then help us spend more time making, updating and supporting it by [contributing](https://github.com/sponsors/lando).
26 |
27 | * Update PHP Docs
28 |
29 | ## v0.1.0 - [December 3, 2021](https://github.com/lando/docs/releases/tag/v0.1.0)
30 |
31 | Lando is **free** and **open source** software that relies on contributions from developers like you! If you like Lando then help us spend more time making, updating and supporting it by [contributing](https://github.com/sponsors/lando).
32 |
33 | * Initial Release
34 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | > [!IMPORTANT]
2 | > As of Lando [v3.23.0](https://github.com/lando/core/releases/tag/v3.23.0) the docs are now part of [@lando/core](https://github.com/lando/core/tree/main/docs) and this repo is now archived eg longer actively maintained, used, looked at, etc.
3 | >
4 | > Please visit [@lando/core](https://github.com/lando/core) for anything docs related.
5 |
6 | # Lando Docs
7 |
8 | This repo contains the [documentation site](https://docs.lando.dev) for [Lando](https://lando.dev). That said Lando is comprised of various constituent projects that are all combined together. So while this _is_ the main site you should think about it more as the "glue" that combines various subsites together into a cohesive docs expereince. Said more plainly. if you are looking to update the docs on say the Lagoon recipe then you should do so in the [Lagoon repo](https://github.com/lando/lagoon/tree/main/docs).
9 |
10 | Here is a non-exhaustive list of some of the other docs subsites:
11 |
12 | * https://github.com/lando/cli/tree/main/docs
13 | * https://github.com/lando/core/tree/main/docs
14 | * https://github.com/lando/php/tree/main/docs
15 | * https://github.com/lando/pantheon/tree/main/docs
16 |
17 | However, it's best to just search for the repo you are looking for in the main [Lando org](https://github.com/lando) and consult its `README` on how to update its docs.
18 |
19 | ## Issues, Questions and Support
20 |
21 | If you have a question or would like some community support we recommend you [join us on Slack](https://www.launchpass.com/devwithlando). Note that this is the Slack community for [Lando](https://lando.dev) but we are more than happy to help with this module as well!
22 |
23 | If you'd like to report a bug or submit a feature request then please [use the issue queue](https://github.com/lando/docs/issues/new/choose) in this repo.
24 |
25 | ## Changelog
26 |
27 | We try to log all changes big and small in both [THE CHANGELOG](https://github.com/lando/docs/blob/main/CHANGELOG.md) and the [release notes](https://github.com/lando/docs/releases).
28 |
29 | ## Development
30 |
31 | * Requires [Node 18+](https://nodejs.org/dist/latest-v18.x/)
32 |
33 | ```bash
34 | # Clone repo
35 | git clone https://github.com/lando/docs.git && cd docs
36 |
37 | # Install deps
38 | npm install
39 |
40 | # Launch dev site
41 | npm run dev
42 |
43 | # Lint
44 | npm run lint
45 |
46 | # Build site
47 | npm run build
48 | ```
49 |
50 | ## Releasing
51 |
52 | To deploy and publish a new version of the package to the `npm` registry you need only [create a release on GitHub](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository) with a [semver](https://semver.org) tag.
53 |
54 | Note that prereleases will get pushed to the `edge` tag on the `npm` registry.
55 |
56 | ## Maintainers
57 |
58 | * [@pirog](https://github.com/pirog)
59 | * [@reynoldsalec](https://github.com/reynoldsalec)
60 |
61 | ## Contributors
62 |
63 |
64 |
65 |
66 |
67 | Made with [contributors-img](https://contrib.rocks).
68 |
69 | ## Other Resources
70 |
71 | * [Important advice](https://www.youtube.com/watch?v=WA4iX5D9Z64)
72 | * Other stuff
73 |
--------------------------------------------------------------------------------
/contrib/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Learn how to contribute to Lando.
3 | ---
4 |
5 | # Getting Involved
6 |
7 | ::: center
8 | 
9 | :::
10 |
11 | If you are interested in helping out with the Lando project, then you've come to the _**right place!**_ We are looking for people to help out in any of the capacities as follows:
12 |
13 | ::: half CODER
14 | Work on making and supporting Lando by touching code, docs, issues, DevOps or helping out in our Slack community channel
15 | :::
16 |
17 | ::: half EVANGELIST
18 | Present, train or speak about Lando at various meetups, camps and conferences and generally spread the good word across the galaxy
19 | :::
20 |
21 | ::: half SPONSOR
22 | Give the dollars and get exclusive benefits
23 | :::
24 |
25 | ::: half CONTENT
26 | Generate useful content like docs, guides, videos, tutorials, lessons, etc
27 | :::
28 |
29 | ::: half HELPER
30 | Providing community support on GitHub, Slack, email, X/Twitter, etc
31 | :::
32 |
33 | ::: half GOVERNANCE
34 | Help us run both the actual project and maintain the repos
35 | :::
36 |
37 | **If any of the above sound up your alley, then please proceed to [getting started](#getting-started).** If not than we ask you at least go over to [GitHub](https://github.com/lando/lando) and give us a star :star:.
38 |
39 | ## Getting Started
40 |
41 | To get started you need to do _at least_ one of the below but we **HIGHLY RECOMMEND** you just do them all:
42 |
43 | 1. [Join the contributors mailing list](https://dev.us12.list-manage.com/subscribe?u=59874b4d6910fa65e724a4648&id=613837077f)
44 | 2. [Join the #contributors channel on Slack](#slack)
45 | 3. [Complete our contributor Google Form](https://docs.google.com/forms/d/1vdDhmHqg7lS540eCrMR4MQO6DT4nfAsl-z8JRcnnmSI)
46 | 4. [Create, flag and/or assign some issues you are interested in](#choosing-an-issue)
47 | 5. [Come to your first contributor meeting](#meetings)
48 |
49 | ## Comms
50 |
51 | These are the channels we usually use for communication.
52 |
53 | ### GitHub
54 |
55 | GitHub serves as the mechanism for all Lando code, issue reporting/tracking and project management.
56 |
57 | While the [Lando Organization](https://github.com/lando) serves as the starting point for all Lando projects, most collaboration is going to occur in the core [Lando Project](https://github.com/lando/lando) and its [issue queue](https://github.com/lando/lando/issues).
58 |
59 | ### Slack
60 |
61 | Slack serves as the mechanism for Lando support and contributor coordination. You can join the Lando slack org via [LaunchPass](https://www.launchpass.com/devwithlando). By default, you will be added to the **#community** channel which is our free and open community support channe but you should also join **#contributors**.
62 |
63 | There are also some other channels you can join at your discretion:
64 |
65 | * **#administrators** - For those who help administer and coordinate Lando
66 | * **#bloggers** - For those contributing case studies, training materials and other content to the blog
67 | * **#evangelists** - For those looking to evangelize Lando at meetups, events, camps, etc
68 | * **#guiders** - For those writing helpful Lando guides and tutorials
69 | * **#upsellers** - For those helping to help sell Lando sponsorships, support and services
70 | * **#social** - For suggesting social content for Lando
71 | * **#kalabox** - For legacy Kalabox community support
72 |
73 | Join some channels and say hi!
74 |
75 | ### X/Twitter
76 |
77 | X/Twitter is our primary outreach and social channel. If you are fearless, then [follow us](https://twitter.com/devwithlando) and get involved in the conversation!
78 |
79 | ## Choosing an Issue
80 |
81 | If you don't already have a GitHub issue or two in mind you can go through them in a few different ways:
82 |
83 | * [By maintainer projects](https://github.com/orgs/lando/projects)
84 | * [By individual repo](https://github.com/orgs/lando/repositories)
85 | * [By all issues in the org](https://github.com/issues?q=is:open+is:issue+org:lando)
86 |
87 | If you don't see one you can also [create your own](https://github.com/lando/lando/issues/new/choose). However once you have an issue or two in mind you will want to do possibly both of the below:
88 |
89 | * **Label the issue with flag** - This will add it into the relevant contributor project board so a maintainer knows to discuss it in their next meeting.
90 | * **Assign the issue to yourself** - If it's an issue you want to take on then [assign it](https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/assigning-issues-and-pull-requests-to-other-github-users) to yourself.
91 |
92 | If you cannot label or assign an issue then we probably need to invite you to collaborate. To do that jump in the `#contributors` channel in Slack, post your issue and indicate you want to self-assign it and a maintainer will send you an invite.
93 |
94 | Note that permissions are given on a per-repo basis so you'll need to do this once for every repo you want to work on.
95 |
96 | ## Meetings
97 |
98 | We are currently meeting for three dedicated purposes: `Plugins`, `DevOps` and `Governance & Maintainership`, here are the next meetings:
99 |
100 |
108 |
109 | Make sure you [join the mailing list](https://dev.us12.list-manage.com/subscribe?u=59874b4d6910fa65e724a4648&id=613837077f) and/or [#contributors](#slack) channel in our Slack to get invited/access to the meetings.
110 |
111 | ## Archives
112 |
113 | * [March 27, 2024 - Kickoff Meeting](./kickoff-meeting-3-27-2024.md)
114 |
115 | We also put _all_ the raw data [over here](https://drive.google.com/drive/folders/1O9kO9or7vRRMUfb4L88K0yWTE6uZ5jwd) in Google Drive if you want to sift through things.
116 |
117 |
166 |
167 |
179 |
--------------------------------------------------------------------------------
/contrib/kickoff-meeting-3-27-2024.md:
--------------------------------------------------------------------------------
1 |
2 | # March 27, 2024 - Lando Contributor Meeting
3 |
4 | If you are interested in contributing then [go here](./index.md#getting-started).
5 |
6 |
7 |
8 | ## Links
9 |
10 | * [Full Meeting Recording](https://drive.google.com/file/d/1a4953iNuJwqZICYfkjrxzG0YhIsfCr1U/view?userstoinvite=none)
11 | * [Meeting Transcript](https://docs.google.com/document/d/1R5GW9-gwrw_tYaCd8GDu-9EN8FLk845yeYcdglHph2s)
12 |
13 | ## Introduction
14 |
15 | * Note that we're recording!
16 | * [Fill out the Google Form](https://docs.google.com/forms/d/1vdDhmHqg7lS540eCrMR4MQO6DT4nfAsl-z8JRcnnmSI/viewform?edit_requested=true)
17 |
18 | ## Lando Updates
19 |
20 | ### Development Update
21 |
22 | * Lando started as a mono-repo. To help people contribute, it's been broken up into constituent pieces. Pretty close to being complete; 3.21.x-beta has been accomplishing that.
23 | * Lando org has ~80 different repos.
24 | * Now we can bring contributors onboard, create teams focused on smaller areas, have recurring meetings.
25 |
26 | ### Governance
27 |
28 | * Lando is a free/open-source project, but it's still under the auspices of a for-profit entity.
29 | * We're examining the process of moving Lando into a non-profit entity; definitely very interested in moving that direction.
30 |
31 | ## Teams
32 |
33 | ### Devops
34 |
35 | * GitHub Actions, installer scripts (kudos to Aaron Feledy for working on Windows script), Homebrew scripts, etc.
36 | * Bi-weekly meetings
37 |
38 | ### Plugins
39 |
40 | * Most folks are interested in PHP-related plugins (PHP, Drupal, WordPress, Pantheon, etc.)
41 | * This is where we need the MOST immediate help!
42 | * A lot of this is bug fixing, responding to users.
43 | * We'll start with a general meeting, should be federating out the meetings as we get more contributors. Probably first division will be "PHP-related Plugins" and a "General"
44 | * We're close to releasing a backport of the Lando v4 service into Lando v3; there will be a big chunk of work to port all the services/recipes.
45 | * Bi-weekly meetings
46 |
47 | ### Core
48 |
49 | * Right now this is Pirog's domain until things are "set up". Get back in the code dungeon Mike.
50 | * In the future this would cover the `core`, `core-next`, `cli` repos.
51 |
52 | ### General
53 |
54 | * Governance: right now we follow the "benevolent dictator" model, but as we engage more contributors we should start evolving the governance structure.
55 | * Maintainers: we'll need people to take ownership over maintaining repos.
56 | * Initial meeting, probably monthly meetings afterwards.
57 |
58 | ## Q+A
59 |
60 | ### Is documentation the responsibility of the people working on the plugin?
61 |
62 | Yes, docs are in the code repositories for each plugin. Effectively each plugin has its own docs site. However, there are some general docs repos (`lando/docs`) that have some overarching material, so those may need some specific contributors in the future. For now, the priority is making sure people who are focused on a given repo are maintaining its docs. Docs are fairly standardized due to a common Vitepress (tool used for generating the docs) theme.
63 |
64 | In the future, we'll have to see if we want to enforce consistent styling (Vitepress theme) over docs for non-Lando maintained plugins?
65 |
66 | ### Is the `#contributors` channel in Slack the best place to still hang out for real time chat?
67 |
68 | Yes! In the future we might move off Slack, but that channel is still where we have chatter over contribution.
69 |
70 | * **Q: **Any interest in a Ruby on Rails plugin?
71 | * **A: **One of the goals of Lando v4 is to make plugin creation easier, waiting for v4 has been one of the reasons we haven't been actively extending to make new services. We're hoping that more people will make their own services in v4, encourage a wider ecosystem instead of having a few maintainers need to make/maintain everything. We're limited by our knowledge as developers.
72 |
73 | * **Q: **What's the level of commitment expected if you join a team? How do we make sure we have continuity if a main maintainer who has been doing a bunch of work then needs to drop off?
74 | * **A: **We know it's volunteer work on a free and open source project, so we're not expecting life-or-death commitment. We're expecting good communication…if you've been a key contributor, your teammates will appreciate you letting them know that you're having to take a step back so they can fill the gap.
75 |
76 | * **Q: **Is there an example plugin repo that can be used for inspiration to create a new repo, or should we just look at existing plugins?
77 | * **A: **This current doesn't exist (there was a proto-attempt at this for v3) but it will definitely exist for Lando v4. Should have example files, yml config, workflow (GitHub Actions) files for testing/deploying, docs, etc.
78 |
79 | * **Q: **Specific tooling for project management?
80 | * **A: **We're using GitHub Issues (and GitHub Projects) right now, but in the future team leaders (project maintainers) could choose something different for the sub-projects. Probably will highly recommend people stay on the GitHub stack, since issues have a tendency to come into the incorrect repo (a PHP issue may get posted in the Drupal recipe first, then get moved over), so having them on the same platform is handy.
81 |
82 | * **Q:** Do new plugins get added to the standardized lando project or do you just create your own repo? As you can imagine, if everybody starts
83 | forking everywhere, it will be difficult to locate plugins.
84 | * **A: **We'll be keeping distinctions between "Lando maintained" first-party plugins and third-party plugins. To add a plugin into the plugins listing on lando.dev you'll need to submit at least a pull request, so there will be some management of what is officially listed. So visibility is gated, but power to create plugins won't be.
85 |
86 | * **Q: **Is it time to move to Discord soon?
87 | * **A: **We're inclined to move that direction, but it's mostly a matter of time. As organizers we have limited time (could be a good contributor task!), plus we'll need to keep both Slack/Discord open for a while, since we have 3K+ users on Slack currently.
88 |
89 | * **Q:** How would a 3rd party plugin be defined? Would the official lando project have a reference to someone's github plugin project? In other words, how would 3rd party plugins be searchable?
90 | * **A: **Independent plugins could just be found via Google Search…nothing stops independent creation/discovery of plugins.
91 | * We have an official plugin registry on the docs now: [https://docs.lando.dev/plugins](https://docs.lando.dev/plugins)
92 | * Getting on that registry depends on some metadata (which will be in the plugin template), if you want your plugin in the ecosystem you'd make a PR to the `lando/docs` with the appropriate markdown file describing your plugin.
93 |
94 | * **Q:** Is there anything specific that I should focus on learning, to contribute best?
95 | * **A: **Javascript/Node are the most relevant languages. During contributor meetings we'll help folks get setup with development tools/environments.
96 | * Right now if you're not familiar with Javascript, we'd discourage you from diving headfirst into Lando v3 and waiting for v4 to really learn more. HOWEVER, you can be helpful in some of the DevOps tasks that are important to helping with distribution, installation, etc, most of which is bash-based or GitHub Actions.
97 | * VitePress theme for the docs should also be not changing with v4.
98 |
--------------------------------------------------------------------------------
/contrib/sponsoring.md:
--------------------------------------------------------------------------------
1 |
2 | # Sponsoring
3 |
4 | Sponsorship is the easiest and often-most-helpful-to-us way to contribute; just register directly with [GitHub Sponsors](https://github.com/sponsors/lando) and start helping Lando!
5 |
6 | [[toc]]
7 |
8 | ## How to Sponsor
9 |
10 | While you can sponsor directly using any of the below platforms, we recommend you sponsor via [GitHub](https://github.com/sponsors/lando). This way, we can better engage with you in the future.
11 |
12 | GitHub Sponsors, Patreon, and Open Collective: all three of these official Lando sponsorship methods are valid but each comes with its own transaction fees and caveats. Broadly speaking, we've adjusted the sponsorship amount to account for transaction fees.
13 |
14 | ### [With GitHub Sponsors](https://github.com/sponsors/lando)
15 |
16 | [GitHub Sponsors](https://github.com/sponsors/lando) is the best way to sponsor Lando for the reasons as follows:
17 |
18 | **Lowest Sponsorship Amount**: GitHub Sponsors doesn't charge a transaction fee right now, so all your sponsorship $$$ helps Lando!
19 | **2X Matching**: GitHub Sponsors will match all sponsorship dollars up to $5,000 in the first year. Your cash goes further!
20 |
21 | [Sponsor With GitHub Here](https://github.com/sponsors/lando)
22 |
23 | ### [With Patreon](https://www.patreon.com/devwithlando)
24 |
25 | The gold standard of sponsoring creatives, [Patreon](https://www.patreon.com/devwithlando) does charge a transactional fee; hence why you'll see sponsorship rates are a little higher there. Rest assured that Lando gets the same amount, but all things being equal, you might want to use GitHub Sponsors instead.
26 |
27 | [Sponsor with Patreon Here](https://www.patreon.com/devwithlando)
28 |
29 | ### [With Open Collective](https://opencollective.com/lando)
30 |
31 | [Open Collective](https://opencollective.com/lando) has similar drawbacks to Patreon, _however_, it may allow us to redistribute funds to projects Lando relies upon and other contributors in the future. If you're a devotee to the Open Collective ethos, give here, otherwise, GitHub Sponsors!
32 |
33 | [Sponsor with Open Collective Here](https://opencollective.com/lando)
34 |
35 | ## Why Sponsor Lando
36 |
37 | Lando is free and open source but freedom isn't free in the land of the brave and home of the Lando. Thousands of man hours have gone into creating Lando and hundreds more are spent each year providing support and maintenance.
38 |
39 | By sponsoring Lando with your hard earned American dollars, the Lando team can do the following:
40 |
41 | * Fix bugs
42 | * Pay for hosting/bug monitoring
43 | * Develop new features
44 | * Create guides, tutorial, video and improve Lando documentation
45 | * Answer developer questions on [Slack](https://www.launchpass.com/devwithlando)
46 | * Allow [@pirog](https://github.com/pirog) to see the light of day
47 |
48 | If you'd like to read more about why you should sponsor Lando, we encourage you to check out the posts as follows:
49 |
50 | * [Why you should sponsor Lando](https://lando.dev/blog/2020/02/07/why-you-should-sponsor-lando.html)
51 | * [Why your agency or org should sponsor Lando](https://lando.dev/blog/2020/02/08/why-your-agency-should-sponsor-lando.html)
52 | * [Why your PaaS or dev tool should sponsor Lando](https://lando.dev/blog/2020/02/08/why-your-pass-should-sponsor-lando.html)
53 |
54 | If you are interested in sponsoring at one of our higher tiers, then definitely [contact us](https://lando.dev/contact/) so we can figure out the terms of your sponsorship.
55 |
56 | ## Helping others sponsors
57 |
58 | The Lando revolution relies upon new converts. You've probably already told some of your co-workers and friends to try Lando. Maybe you've [written some guides](https://docs.lando.dev/guides) and [sponsored Lando yourself](https://github.com/sponsors/lando). What's the next step? Getting someone else to sponsor Lando!
59 |
60 | Chances are you know another individual or a business that would be willing to sponsor Lando. All they need is someone they trust (read: YOU) to tell them about it. Do you know any of the following people who might be interested in sponsoring?
61 |
62 | - Friends who use Lando.
63 | - Development agencies.
64 | - University development teams.
65 | - "Enterprise" development teams.
66 | - Hosting companies.
67 | - Dev tool providers.
68 | - [Eccentric mallard millionares.](https://www.youtube.com/watch?v=bEmjiCoZ6e4&t=11s)
69 |
70 | ### Why Should Your Organization Sponsor Lando?
71 |
72 | If you and your team are saving development time using Lando, your organization is already receiving dividends from the bank of Lando. Instead of each developer on your team paying part of their paycheck to sponsor, shouldn't your organization invest back to make sure the Lando royalties keep getting dished out?
73 |
74 | Asking your boss to sponsor Lando might seem tough. Why should they pay for something they're already getting for free? There are _many_ reasons and we've prepared them all in the easily distributable blog content below:
75 |
76 | * [Why you should sponsor Lando](https://lando.dev/blog/2020/02/07/why-you-should-sponsor-lando.html)
77 | * [Why your agency or org should sponsor Lando](https://lando.dev/blog/2020/02/08/why-your-agency-should-sponsor-lando.html)
78 | * [Why your PaaS or dev tool should sponsor Lando](https://lando.dev/blog/2020/02/08/why-your-pass-should-sponsor-lando.html)
79 |
80 | ### They're Ready to Sponsor. Now What?
81 |
82 | Most organizations will want to sponsor directly through our [Github sponsors page](https://github.com/sponsors/lando). If Lando saves your organization at least a couple hours each month, we highly encourage you making a recurring contribution, but for one-time contributions [Open Collective](https://opencollective.com/lando#category-CONTRIBUTE) can be more convenient.
83 |
84 | To take full advantage of sponsorship benefits your organization will want to reach out to .
85 |
86 | ## FAQ
87 |
88 | Some answers to some of our most frequent questions about sponsorship are shown below:
89 |
90 | ### When will I show up on the website, Twitter, etc?
91 |
92 | We usually batch update our [list of sponsors](https://lando.dev/sponsor/) and Twitter queue _at least_ once a week so you should expect to see yourself or your org on the website within a week. Twitter can be a different story and depends on the queue. If there are a lot of sponsors in front of you, you might have to wait up to a month to get your shoutout.
93 |
94 | An exception to the above rule is if you have sponsored at one of our higher tiers and we've provided custom marketing benefits. However, in this case, you will be directly in touch with one of our team members to coordinate the rollout.
95 |
96 | If you feel like the above has not happened correctly and something is wrong, please reach out to us at so we can make it right.
97 |
98 | ### When can I expect my swag?
99 |
100 | Due to the time and administrative overhead, we usually send swag out once a quarter. So, if it's been three months or more, reach out to us at so we can make it right.
101 |
102 | ### I want to sponsor, but can I get different benefits?
103 |
104 | Yes!
105 |
106 | Our highest two tiers are fairly customizable based around your needs. If you would like to put together custom sponsorship terms, then [contact us](https://lando.dev/contact/) and let us know what you are looking for. Our team will get in touch with you shortly and try to figure out something that works for all.
107 |
108 | ### How do I cancel a sponsorship?
109 |
110 | We rely on third party sponsorship platforms to manage your sponsorship so you will want to terminate your sponsorship with them! For convenience, the relevant docs on how to do so for each of the platforms we support are shown below:
111 |
112 | * [Cancel GitHub Sponsors Sponsorship](https://docs.github.com/en/billing/managing-billing-for-your-products/managing-billing-for-github-sponsors/downgrading-a-sponsorship)
113 | * [Cancel Patreon Sponsorship](https://support.patreon.com/hc/en-us/articles/360000126286-Changing-your-tier)
114 | * [Cancel OpenCollective Sponsorship](https://docs.opencollective.com/help/financial-contributors/organizations/organization-faq#can-i-cancel-or-change-my-contribution)
115 |
116 | ### How can I convince my boss or org to sponsor?
117 |
118 | We have some ideas for that [over here](https://lando.dev/blog/2020/02/08/why-your-agency-should-sponsor-lando.html)!
119 |
--------------------------------------------------------------------------------
/data.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Learn how to handle file syncing issue when using Lando for local development.
3 | editLink: false
4 | jobs: false
5 | sidebar: false
6 | sponsors: false
7 | carbonAds: false
8 | next: false
9 | prev:
10 | text: 'Back'
11 | link: '/'
12 | ---
13 |
14 | # Privacy Policy for Humans
15 |
16 | Because most sane people are not lawyers we've included this more-human-accessible explanation of Lando's [Privacy Policy](https://github.com/lando/lando/blob/master/PRIVACY.md). Note that this *_is not_* the actual Privacy Policy.
17 |
18 | ## tl;dr
19 |
20 | Lando collects two kinds of information for the sole purpose of improving Lando: _Usage Data_ and _Crash Data_.
21 |
22 | We store and process this data in [Amplitude](https://amplitude.com/). Additionally, we store Crash Data in [Bugsnag](https://www.bugsnag.com/). Lando does not share, sell or transmit your data to any other parties. We have obtained DPAs with both Amplitude and Bugsnag for this purpose.
23 |
24 | ### Usage Data
25 |
26 | Usage Data is pseudonymized and automatically collected by default during common Lando runtime events such starting, stopping or destroying an application. Here is an example of usage data collected during a `lando rebuild`.
27 |
28 | ```json
29 | {
30 | "context": "local",
31 | "devMode": false,
32 | "instance": "fc8bdd13-03bc-4642-b064-b2eda1c64398",
33 | "nodeVersion": "v10.4.1",
34 | "mode": "cli",
35 | "os": {
36 | "type": "Linux",
37 | "platform": "linux",
38 | "release": "5.3.8-300.fc31.x86_64",
39 | "arch": "x64"
40 | },
41 | "product": "lando",
42 | "version": "3.0.0-rc.22",
43 | "app": "6424b9c225b9f1b7cd46deffec8599d17d8f3f4e",
44 | "type": "drupal8",
45 | "services": [
46 | "php:7.2",
47 | "mysql",
48 | "mailhog"
49 | ],
50 | "action": "rebuild",
51 | "created": "2019-11-26T15:15:52.733Z"
52 | }
53 | ```
54 |
55 | Each Lando instance is uniquely identifiable by an ID which is stored at `~/.lando/cache/id`. This corresponds to the `instance` property above. While we store this data the only way we can tie specific data to a given Lando user is if the user themselves tells us which instance id belongs to them.
56 |
57 | We will also pseudonymize your app's name.
58 |
59 | If you would like to see what data is sent you can run either examine the [Lando logs](https://docs.lando.dev/cli/logs.html), or run a Lando command with debug verbosity.
60 |
61 | ```bash
62 | lando start -vvv
63 |
64 | # debug: Logging metrics data"command":"lando start","context":"local","devMode":false,"instance":"bdb5354f0597b5b465e86db8255c2b6e1e742f70","nodeVersion":"v10.15.0","mode":"cli","os":{"type":"Darwin","platform":"darwin","release":"19.0.0","arch":"x64"},"product":"lando","version":"3.0.0-rc.22","app":"8e8533752bafe1499af4352e923b4d2e82396927","type":"none","services":["node:10","node:10","node:10","php:7.3"],"action":"start","created":"2019-11-26T15:24:16.468Z"} to [{"report":true,"url":"https://metrics.lando.dev"}]
65 | ```
66 |
67 | If you would like to opt-out you can do so by adding the following to your [Lando global config](https://docs.lando.dev/core/v3/global.html)
68 |
69 | ```yaml
70 | stats:
71 | - report: false
72 | url: https://metrics.lando.dev
73 | ```
74 |
75 | ## Crash Data
76 |
77 | Crash Data will only be sent to Tandem if the user opts in and gives us permission to do so. The user will be prompted the first time Lando detects an error.
78 |
79 | ```bash
80 | lando start
81 |
82 | Lando has crashed!!!
83 |
84 | Would you like to report it, and subsequent errors, to Lando?
85 |
86 | This data is only used by the Lando team to ensure the application runs as well as it can.
87 | For more details check out https://docs.lando.dev/privacy/
88 |
89 | ? Send crash reports? (Y/n)
90 | ```
91 |
92 | Crash Data will include the same information as Usage Data with the addition of the error message and its stack trace.
93 |
94 | We try our best to sanitize these additional properties but recognize that path names and other information that we collect may inadvertently include personal data including but not limited to usernames and site names.
95 |
96 | If you would like to reset your error reporting preference so that Lando prompts you again on the next error you can run this command.
97 |
98 | ```bash
99 | rm ~/.lando/cache/report_errors
100 | ```
101 |
--------------------------------------------------------------------------------
/getting-started/first-app.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Learn how to boot up and initialize your first project for usage with Lando with a Hello World!, Drupal 9 and Pantheon example.
3 | next:
4 | text: Lando 101
5 | link: /lando-101
6 | ---
7 |
8 | # Starting your first app
9 |
10 | Now that you've got Lando installed you should try a few easy examples before you _get into it_.
11 |
12 | ## Hello World!
13 |
14 | ```bash
15 | # Create a new directory for this example and enter it
16 | mkdir hello && cd hello
17 |
18 | # And add a nice homepage
19 | echo "
Lando says hellooo what have we here?
" > index.html
20 |
21 | # Initialize a basic LAMP stack using the cwd as the source
22 | lando init \
23 | --source cwd \
24 | --recipe lamp \
25 | --webroot . \
26 | --name hello-lando
27 |
28 | # Check out the Landofile it created for you
29 | cat .lando.yml
30 |
31 | # Start it up
32 | lando start
33 |
34 | # Check out the commands you can run
35 | lando
36 |
37 | # Visit the site in your browser: https://hello-lando.lndo.site
38 |
39 | # Destroy the site
40 | lando destroy -y
41 | ```
42 |
43 | ## Vanilla Drupal 11
44 |
45 | You can also pull in code from an external archive (or git repo/GitHub) to seed a new project.
46 |
47 | ```bash
48 | # Create a new directory for this example and enter it
49 | mkdir drupal11 && cd drupal11
50 |
51 | # Initialize a new lando drupal using vanilla Drupal 9
52 | lando init \
53 | --source remote \
54 | --remote-url https://www.drupal.org/download-latest/tar.gz \
55 | --remote-options="--strip-components 1" \
56 | --recipe drupal11 \
57 | --webroot . \
58 | --name hello-drupal11
59 |
60 | # Start the site
61 | lando start
62 |
63 | # Install a site local drush
64 | lando composer require drush/drush
65 |
66 | # Install drupal
67 | lando drush site:install --db-url=mysql://drupal11:drupal11@database/drupal11 -y
68 |
69 | # Check out your new site! https://hello-drupal11.lndo.site
70 |
71 | # Log in as admin with Drush
72 | lando drush uli -l https://hello-drupal11.lndo.site
73 |
74 | # Destroy it
75 | lando destroy -y
76 | ```
77 |
78 | ## From Pantheon
79 |
80 | If you have a [Pantheon](https://pantheon.io) account you can clone a site locally.
81 |
82 | ```bash
83 | # Create a new directory for this example and enter it
84 | mkdir pantheon && cd pantheon
85 |
86 | # Go through interactive prompts to get your site from pantheon
87 | lando init --source pantheon
88 |
89 | # Start it up
90 | lando start
91 |
92 | # Import your database and files
93 | lando pull
94 | ```
95 |
96 | ## More
97 |
98 | Continue your journey with our brief [Lando 101](/lando-101) course.
99 |
--------------------------------------------------------------------------------
/getting-started/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Get an introduction to Lando; why it exists, what it's good for and how it differs from Docker Compose and other local development and DevOps tools.
3 | ---
4 |
5 | # What is Lando?
6 |
7 | Lando is for developers who want to:
8 |
9 | * Quickly specify and painlessly spin up the [services](https://docs.lando.dev/config/services.html) and [tooling](https://docs.lando.dev/config/tooling.html) needed to develop _all_ their projects.
10 | * Ship these local development dependencies in a per-project, lives-in-git [config file](https://docs.lando.dev/config)
11 | * Automate complex [build steps](https://docs.lando.dev/config/services.html#build-steps), testing setups, deployments or other [repeated-more-than-once workflows](https://docs.lando.dev/config/events.html)
12 | * Avoid the built-in-masochism of directly using `docker` or `docker-compose`
13 |
14 | It's a free, open source, cross-platform, **local** development environment and DevOps tool built on [Docker](https://www.docker.com/) container technology and developed by [Tandem](https://thinktandem.io/). 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.
15 |
16 | ::: tip This is a development tool!
17 | Note that while you _can_ run Lando in production, it is _highly_ discouraged, not recommended and 100% not supported! DON'T DO IT!
18 | :::
19 |
20 | **Think of it as your local development dependency management and automation tool.**
21 |
22 | ## What is it good for?
23 |
24 | * Mimicking your production environment locally
25 | * Standardizing your team's dev environments and tooling on OSX, Windows and Linux
26 | * Integrating with hosting providers like [Lagoon](https://lagoon.sh), [Pantheon](https://pantheon.io) and [Acquia Cloud](https://www.acquia.com/products/acquia-cloud-platform)
27 | * Customizing or extending tooling, deployment options and basically any other functionality
28 | * Running CI tests locally, running local tests in CI
29 | * Using a single local development environment for *all* your projects
30 | * Freeing yourself from the tyranny of inferior local development products
31 |
32 | ## Wait, doesn't Docker Compose do this?
33 |
34 | 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.
35 |
36 | **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 - e.g. Drupal, Python, Laravel, Dotnet, etc.
37 |
38 | **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.
39 |
40 | **As a utility** Lando handles some of the more arduous configuration required for a *good* Docker Compose setup - e.g. proxying, nice urls, cross-application networking (think Vue.js frontend talking to a separate Laravel backend), host-container file permission handling, file sharing, per-container SSL certificate handling, ssh-key handling, etc.
41 |
42 | **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!
43 |
--------------------------------------------------------------------------------
/getting-started/installation.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Installation
3 | description: Redirect for install instructions
4 | ---
5 |
6 |
11 |
--------------------------------------------------------------------------------
/getting-started/requirements.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Requirements
3 | description: System requirements to run Lando on your machine
4 | ---
5 |
6 | # Requirements
7 |
8 | Lando is designed to work on a wide range of computers. Here are some basic guidelines to ensure your Lando experience is as smooth as possible.
9 |
10 | ## Hardware Requirements
11 |
12 | ::: warning Not for the faint of heart!
13 | Note that Lando is basically a PaaS running on your computer and as such we don't recommend you use it [UNLESS YOU'VE GOT POWER!!!](https://www.youtube.com/watch?v=NowdrL6fvb4).
14 | :::
15 |
16 | ### Minimum requirements
17 |
18 | You _can_ run Lando using the below but your experience may be less than ideal.
19 |
20 | * ARM64 or x64 processor(s) with 2+ cores
21 | * 4GB+ RAM
22 | * 25GB+ of available disk space
23 |
24 | You _likely_ can run Lando on other processor architectures if you [install from source](https://docs.lando.dev/install/source.html) but this is not tested or supported.
25 |
26 | ### Preferred
27 |
28 | We've found the below or better to deliver the best experience.
29 |
30 | * ARM64 or x64 processor(s) with 8+ cores
31 | * 16GB+ RAM
32 | * 100GB+ of available disk space
33 |
34 | ## System Requirements
35 |
36 | ### Operating System
37 |
38 | * macOS 12 or higher
39 | * Windows 10 Home or Pro version 21H2 or higher with the [WSL2 feature enabled](https://learn.microsoft.com/en-us/windows/wsl/install)
40 | * Linux with kernel version 4.x or higher
41 |
42 | ### Docker Engine Requirements
43 |
44 | Please also verify you meet the requirements needed to run our Docker engine backend. Note that the macOS and Windows Lando installer scripts will install Docker for you if needed. You can also run [`lando setup`](https://docs.lando.dev/cli/setup.html) to install needed requirements.
45 |
46 | * Docker Engine for Linux [requirements](https://docs.docker.com/engine/install/)
47 | * Docker Desktop for Mac [requirements](https://docs.docker.com/desktop/install/mac-install/#system-requirements)
48 | * Docker Desktop for Windows [requirements](https://docs.docker.com/desktop/install/windows-install/#system-requirements)
49 |
50 | ## Preflight Checks
51 |
52 | 1. Verify that your system meets the [minimum system and hardware requirements](#system-requirements) to run Lando.
53 | 2. Verify that you are connected to the internet.
54 | 3. Verify that you have administrative access to your machine.
55 |
56 | ### Optional checks
57 |
58 | 1. If you already have Docker installed it needs to be set to factory defaults.
59 | 2. If you are also running VirtualBox on Windows check out [this](./../help/win-also-vb.md).
60 |
--------------------------------------------------------------------------------
/getting-started/uninstalling.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Lando isn't for everyone; so here are some helpful instructions on how to uninstall and purge Lando from macOS, Windows and Linux.
3 | ---
4 |
5 | # Uninstalling
6 |
7 | To uninstall Lando simply find and remove the `lando` binary. You can also [clean up lingering configuration](#further-cleanup) and [containers](#further-cleanup)
8 |
9 | ## macOS/Linux
10 |
11 | ```sh
12 | # repeat this command until you get "lando not found"
13 | rm -f "$(which lando)"
14 | ```
15 |
16 | Note that you may need to prefix the above command with `sudo` if you installed `lando` in a directory owned by `root`.
17 |
18 | ## Windows
19 |
20 | ::: code-group
21 | ```powershell [powershell]
22 | # repeat this command until you get an error
23 | Remove-Item -Force (Get-Command lando).Source
24 | ```
25 |
26 | ```bash [bash]
27 | # repeat this command until you get "could not find files"
28 | rm -f "$(where lando | head -n1)"
29 | ```
30 | :::
31 |
32 | ## Further cleanup
33 |
34 | ### Removing lingering Lando configuration
35 |
36 | If you've uninstalled Lando but want to remove **ALL TRACES OF IT** you will also want to remove its configuration directory.
37 |
38 | Unless you've edited Lando's [global config](https://docs.lando.dev/core/v3/global.html) Lando will store app configuration inside your home folder. You can use `lando config | grep userConfRoot` to locate the precise location on your machine. By default these locations will be:
39 |
40 | | Operating System | Default Location |
41 | | -- | -- |
42 | | Win | `C:\Users\ME\.lando` |
43 | | Linux | `~/.lando` |
44 | | macOS | `~/.lando` |
45 |
46 | To remove on Linux or macOS you can run `rm -rf ~/.lando`. You can use `explorer` to remove on Windows.
47 |
48 | ### Removing lingering Lando containers
49 |
50 | You can also run this `docker` one-liner to force remove any Lando containers that, like the [Cranberries](https://www.youtube.com/watch?v=G6Kspj3OO0s) may still be lingering
51 |
52 | ```bash
53 | docker rm -f $(docker ps --filter label=io.lando.container=TRUE --all -q)
54 | ```
55 |
--------------------------------------------------------------------------------
/getting-started/updating.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Get the skinny on how to easily update Lando, a local development and DevOps tool, on macOS, Windows and Linux.
3 | ---
4 |
5 | # Updating
6 |
7 | Updating is fairly simple, you run:
8 |
9 | ```sh
10 | lando update
11 | ```
12 |
13 | If you run into any issues with running it we recommend you check out this [troubleshooting guide](./../help/updating.md).
14 |
15 | You can also read more about this command over [here](https://docs.lando.dev/cli/update.html).
16 |
--------------------------------------------------------------------------------
/guides.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Home helpful generic tutorial and guide content for lando
3 | layout: page
4 | title: Guides
5 | sidebar: false
6 | ---
7 |
8 |
9 |
10 | Guides
11 |
12 |
13 | Some general purpose Lando tutorials and guides
14 |
15 |
16 |
17 |
18 |
19 |
20 |
26 |
27 |
--------------------------------------------------------------------------------
/guides/access-by-other-devices.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Accessing Lando from Other Devices on Your Local Network
3 | description: Learn how to access your Lando sites from other devices on your network like mobile phones or tablets.
4 | guide: true
5 |
6 | authors:
7 | - name: Team Lando
8 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
9 | link: https://twitter.com/devwithlando
10 | updated:
11 | timestamp: 1594391902000
12 |
13 | mailchimp:
14 | # action is required
15 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
16 | # everything else is optional
17 | title: Want similar content?
18 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
19 | button: Sign me up!
20 | ---
21 |
22 | # Accessing Lando from Other Devices on Your Local Network
23 |
24 | You may want to use another device (e.g., a smartphone or tablet) to test your Lando app. You can access your lando app easily from another device as follows.
25 |
26 | ## Changing the Bind
27 |
28 | If you would rather test only on your local network and not over the Internet, you first need to change the `bindAddress` to expose your services on the LAN. Note that there are security implications to this and it is not recommended. Please consult the [Security Docs](https://docs.lando.dev/config/security.html).
29 |
30 | Once you've done that you can ...
31 |
32 | ### 1. First, get the IP address of the machine running lando.
33 |
34 | #### Windows
35 |
36 | Open a command prompt and enter the command `ipconfig /all` and look for the "IPv4 Address" for the network adapter you use to connect to the Internet. Make sure NOT to use the IP address of the Docker network adapter. It should be a number like `192.168.0.123`.
37 |
38 | #### macOS
39 |
40 | Open System Preferences, Network, and then choose the network adapter you are using to connect to the Internet (Ethernet or Wireless). The local IP address will then be displayed.
41 |
42 | #### Linux
43 |
44 | Open a command prompt and enter the command `hostname -I | cut -d' ' -f1`.
45 |
46 | ### 2. Next, get the port of your lando app.
47 |
48 | You can do this by running `lando info` from a command prompt and looking for the URL to your site, which should look something like this: `http://localhost:33333`. In this case, `33333` is the port number.
49 |
50 | You can now visit your lando app from other devices by going to `IP address: Port number`. (Example: `http://192.168.0.123:33333`)
51 |
--------------------------------------------------------------------------------
/guides/accessibility.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Accessibility and Lando
3 | description: Using Lando with adaptive services.
4 | guide: true
5 |
6 | authors:
7 | - name: Team Lando
8 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
9 | link: https://twitter.com/devwithlando
10 | updated:
11 | timestamp: 1703011953000
12 |
13 | ---
14 |
15 | # Accessibility and Lando
16 |
17 | ## Introduction
18 |
19 | Lando is committed to ensuring digital accessibility for people with disabilities. As a text-based CLI tool, Lando should be compatible with most screenreaders. Indeed, accessibility is primarily a challenge of having a terminal application that integrates well with your screen reader or other adaptive devices.
20 |
21 | ## Accessibility Features
22 |
23 | 1. **Keyboard Navigation**: All Lando functionalities are accessible via keyboard. Users can navigate through the interface, access all features, and execute commands using standard keyboard shortcuts.
24 |
25 | 2. **Screen Reader Compatibility**: Lando should be compatible with popular screen readers, although again this primarily depends on your terminal application's compatibility. Textual information, including command outputs and error messages, is structured to be screen reader friendly. If you find command output that is challenging to your screen reader, let us know!
26 |
27 | 3. **Contrast and Text Size**: Since Lando primarily operates in a command-line interface, we suggest using your terminal application's ability to switch to high contrast modes and adjust text size for users with visual impairments.
28 |
29 | 4. **Documentation in Accessible Formats**: Lando's electronic documentation should largely conform to WCAG 2.0 A and AA specifications.
30 |
31 | ## Support and Feedback
32 |
33 | We welcome your feedback on the accessibility of Lando. Please let us know if you encounter accessibility barriers:
34 |
35 | - **Contact Information**: vpat@lando.dev
36 | - **Support**: Support for Lando as a free, open-source tool is provided by the Lando community on a volunteer basis via [documented support channels.](https://lando.dev/support)
37 |
38 | Please [contact us](https://lando.dev/contact) if you're interested in paid enterprise support, including accessibility support.
39 |
--------------------------------------------------------------------------------
/guides/db-export.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: SQL Export
3 | description: Learn how to export your MySQL, MariaDB or Postgres databases from Lando.
4 | guide: true
5 |
6 | authors:
7 | - name: Team Lando
8 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
9 | link: https://twitter.com/devwithlando
10 | updated:
11 | timestamp: 1594391902000
12 |
13 | mailchimp:
14 | # action is required
15 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
16 | # everything else is optional
17 | title: Want similar content?
18 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
19 | button: Sign me up!
20 | ---
21 |
22 | # SQL Export
23 |
24 | Lando ships with a helper `db-export` script that is available in all our `LAMP` and `LEMP` based recipes. Used in the recipe context it should export a database dump `DATABASE.TIMESTAMP.gz` into the `/app` directory.
25 |
26 | You can also export databases from other services.
27 |
28 | ## Usage
29 |
30 | At the command line execute:
31 |
32 | ```bash
33 | lando db-export
34 | ```
35 |
36 | ### Examples
37 |
38 | ```bash
39 | # Export to a file named `DATABASE.TIMESTAMP.gz`
40 | lando db-export
41 |
42 | # Export to a file called dump.sql.gz
43 | lando db-export dump.sql
44 |
45 | # Export from a secondary database
46 | lando db-export --host db2
47 |
48 | # Dump the result to stdout
49 | lando db-export --stdout
50 |
51 | # Dump to an absolute path
52 | # NOTE: this is an absolute path in the target container, not on you host
53 | lando db-export /db/dump.zip
54 | ```
55 |
56 | ### Options
57 |
58 | ```bash
59 | Options:
60 | --host, -h The database service to use [default: "database"]
61 | --stdout Dump database to stdout
62 | ```
63 |
64 | ## Adding the `db-export` command
65 |
66 | If you are not using one of our LAMPy [recipes](https://docs.lando.dev/config/recipes.html) you can add the `db-export` command and default options to the ['tooling'](https://docs.lando.dev/config/tooling.html) section of your [Landofile](https://docs.lando.dev/config/lando.html).
67 |
68 | ```yaml
69 | tooling:
70 | 'db-export [file]':
71 | service: :host
72 | description: Exports database from a database service to a file
73 | cmd: /helpers/sql-export.sh
74 | user: root
75 | options:
76 | host:
77 | description: The database service to use
78 | default: database
79 | alias:
80 | - h
81 | stdout:
82 | description: Dump database to stdout
83 | ```
84 |
--------------------------------------------------------------------------------
/guides/db-import.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: SQL Import
3 | description: Learn how to import your MySQL, MariaDB or Postgres databases to Lando.
4 | guide: true
5 |
6 | authors:
7 | - name: Team Lando
8 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
9 | link: https://twitter.com/devwithlando
10 | updated:
11 | timestamp: 1594391902000
12 |
13 | mailchimp:
14 | # action is required
15 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
16 | # everything else is optional
17 | title: Want similar content?
18 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
19 | button: Sign me up!
20 | ---
21 |
22 | # SQL Import
23 |
24 | Lando ships with a helper `db-import` script that is available in all our `LAMP` and `LEMP` based recipes. Used in the recipe context it should import a database dump into the recipe-provided database by default but can be used on additional database services as well.
25 |
26 | You can also import databases into other hosts and databases. It will currently handle uncompressed, gzipped or zipped dump files.
27 |
28 | **This command will wipe out the target database before it runs the import unless you use the `--no-wipe` flag!**
29 |
30 | ## Usage
31 |
32 | ```bash
33 | lando db-import somedumpfile.sql.gz
34 | ```
35 |
36 | ::: warning DB dump must reside within app directory!
37 | Due to restrictions in how Docker handles file sharing your database dump **MUST** exist somewhere inside of your app directory. This means that **IT IS A VERY GOOD IDEA** to make sure you add SQL dumps to your `.gitignore` file.
38 | :::
39 |
40 | ### Examples
41 |
42 | ```bash
43 | # Import a file into the recipe-provided db
44 | lando db-import dump.sql
45 |
46 | # Import a file into an auxiliary second database called 'db2'
47 | # with a db called `dataz`
48 | lando db-import dump.zip --host db2
49 |
50 | # Import without destroying the target database
51 | lando db-import dump.zip --no-wipe
52 |
53 | # Import using an absolute path
54 | # NOTE: this is an absolute path in the target container, not on you host
55 | lando db-import /db/dump.zip
56 |
57 | # Import from a subdirectory
58 | lando db-import subdir/test.sql
59 |
60 | # Pipe stdout into db-import
61 | # NOTE: this is a bit finicky right now
62 | cat dump.sql | lando db-import
63 | ```
64 |
65 | ### Options
66 |
67 | ```bash
68 | Options:
69 | --host, -h The database service to use [default: "database"]
70 | --no-wipe Do not destroy the existing database before an import
71 | ```
72 |
73 | ## Adding the `db-import` command
74 |
75 | If you are not using one of our LAMPy [recipes](https://docs.lando.dev/config/recipes.html) you can add the `db-import` command and default options to the ['tooling'](https://docs.lando.dev/config/tooling.html) section of your [Landofile](https://docs.lando.dev/config/lando.html).
76 |
77 | ```yaml
78 | tooling:
79 | 'db-import ':
80 | service: :host
81 | description: Imports a dump file into a database service
82 | cmd: /helpers/sql-import.sh
83 | user: root
84 | options:
85 | host:
86 | description: The database service to use
87 | default: database
88 | alias:
89 | - h
90 | no-wipe:
91 | description: Do not destroy the existing database before an import
92 | boolean: true
93 | ```
94 |
--------------------------------------------------------------------------------
/guides/external-access.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Accessing Your Services Externally
3 | description: Learn how to access your Lando services externally from your host machine.
4 | guide: true
5 |
6 | authors:
7 | - name: Team Lando
8 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
9 | link: https://twitter.com/devwithlando
10 | updated:
11 | timestamp: 1594391902000
12 |
13 | mailchimp:
14 | # action is required
15 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
16 | # everything else is optional
17 | title: Want similar content?
18 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
19 | button: Sign me up!
20 | ---
21 |
22 | # Accessing Your Services Externally
23 |
24 | It is often desirable to interact with your services on the host machine level. Common examples of this are accessing a SQL database through a GUI client like SequelPro, or running unit tests through an IDE like PhpStorm.
25 |
26 | Lando makes this process relatively painless.
27 |
28 | ## Checking Connection Info
29 |
30 | If you've spun up a Lando app using one of our [recipes](https://docs.lando.dev/config/recipes.html) then its likely relevant services are already exposed and ready for access.
31 |
32 | ```bash
33 | # Get info about it
34 | lando info
35 |
36 | {
37 | "appserver": {
38 | "type": "php",
39 | "version": "7.0",
40 | "via": "apache",
41 | "webroot": "www",
42 | "urls": [
43 | "https://localhost:32785",
44 | "http://localhost:32786",
45 | "http://backdrop.lndo.site",
46 | "https://backdrop.lndo.site"
47 | ]
48 | },
49 | "database": {
50 | "type": "mariadb",
51 | "version": "latest",
52 | "creds": {
53 | "user": "backdrop",
54 | "password": "backdrop",
55 | "database": "backdrop"
56 | },
57 | "internal_connection": {
58 | "host": "database",
59 | "port": 3306
60 | },
61 | "external_connection": {
62 | "host": "localhost",
63 | "port": "32787"
64 | }
65 | }
66 | }
67 | ```
68 |
69 | In the example above you can access the `mariadb` database from your host at `localhost:32787`. Note that this port is automatically assigned by Docker itself and will change every time you restart your app.
70 |
71 | That said, Lando provides a way to "lock down" these ports so they are more predictable.
72 |
73 | ## Locking Down Ports
74 |
75 | Say you've spun up an app using our Backdrop recipe but you are frustrated by the external database port always changing. You can modify your `.lando.yml` with some recipe overrides to assign a static port.
76 |
77 | ::: warning THE PORT YOU FORWARD MUST BE AVAILABLE ON YOUR HOST!
78 | You are going to need to select a port that is actually available on your host machine. If you don't, then this will fail. It's a good idea to avoid common ports like `3306` which likely are in use already. To that end it's good practice to use a port CLOSE TO the default eg `3307` for `3306` or `5433` for `5432`.
79 | :::
80 |
81 | ```yml
82 | name: myapp
83 | recipe: backdrop
84 | services:
85 | database:
86 | portforward: 3307
87 | ```
88 |
89 | ```bash
90 | # rebuild from app directory
91 | lando rebuild --yes
92 |
93 | # Check to see the locked down port
94 | lando info
95 |
96 | {
97 | "appserver": {
98 | "type": "php",
99 | "version": "7.0",
100 | "via": "apache",
101 | "webroot": "www",
102 | "urls": [
103 | "https://localhost:32785",
104 | "http://localhost:32786",
105 | "http://backdrop.lndo.site",
106 | "https://backdrop.lndo.site"
107 | ]
108 | },
109 | "database": {
110 | "type": "mariadb",
111 | "version": "latest",
112 | "creds": {
113 | "user": "backdrop",
114 | "password": "backdrop",
115 | "database": "backdrop"
116 | },
117 | "internal_connection": {
118 | "host": "database",
119 | "port": 3306
120 | },
121 | "external_connection": {
122 | "host": "localhost",
123 | "port": "3307"
124 | }
125 | }
126 | }
127 | ```
128 |
129 | ## Mapping to The Lando Network
130 |
131 | Some IDEs, such as PhpStorm, will spin up a separate container to run their appserver for services like built-in unit testing. This means that it is separate from the Lando network and cannot communicate with Lando's other containers, such as the database. In order to allow them to communicate, you need to tell your interpreter which network to listen on.
132 |
133 | ::: warning If you got this message...
134 | `php_network_getaddresses: getaddrinfo failed: Name or service not known` while PHPUnit testing in PHPStorm and use a MySQL test database, you're in the right place!
135 | :::
136 |
137 | First, find your Lando network name by going to the terminal, and _outside of Lando_ run `$ docker network ls`. You should find a record matching your Lando project. For example, if your Lando project is named `d7dev`, then you should see something like:
138 |
139 | ```
140 | NETWORK ID NAME DRIVER SCOPE
141 | d9526b32d92c d7dev_default bridge local
142 |
143 | ```
144 |
145 | Next, ensure your framework (PHP) interpreter is configured to use a Docker container matching your project's appserver configuration. For example, if your running PHP 7.1 on Apache, this would look like `devwithlando/php:7.1-apache`.
146 |
147 | Finally, when configuring your framework, edit the Docker Container settings and change the Network Mode to the name of your Lando docker network.
148 |
149 | Now your IDE should be able to communicate with Lando.
150 |
--------------------------------------------------------------------------------
/guides/how-do-i-configure-a-lando-recipe.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: How do I configure a Lando Recipe?
3 | description: Using the lando config key to configure your recipe.
4 | guide: true
5 |
6 | authors:
7 | - name: Team Lando
8 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
9 | link: https://twitter.com/devwithlando
10 | updated:
11 | timestamp: 1594391902000
12 |
13 | mailchimp:
14 | # action is required
15 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
16 | # everything else is optional
17 | title: Want similar content?
18 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
19 | button: Sign me up!
20 | ---
21 |
22 | # How do I configure a Lando Recipe?
23 |
24 | When you first initialize a lando app (`lando init`) you get a very simple `.lando.yml` configuration file. Here is the `.lando.yml` file for the LAMP recipe.
25 |
26 | ```yaml
27 | name: mylamp
28 | recipe: lamp
29 | config:
30 | webroot: .
31 | ```
32 |
33 | By using the `config` key in the `lando.yml` file you can configure aspects of your app to say match the production instance. For example say your production server
34 | is using PHP 5.6; you can set that under the `config` key like so:
35 |
36 | ```yaml
37 | name: mylamp
38 | recipe: lamp
39 | config:
40 | webroot: .
41 | php: 5.6
42 | ```
43 |
44 | Now be sure to `rebuild` your app so that the new changes take effect:
45 |
46 | ```bash
47 | lando rebuild -y
48 | ```
49 |
50 | You can check that the change took by using `lando php -v`:
51 |
52 | ```bash
53 | └─ $ ∴ lando php -v
54 | PHP 5.6.40 (cli) (built: Jan 23 2019 00:10:05)
55 | Copyright (c) 1997-2016 The PHP Group
56 | Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
57 | with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
58 | ```
59 |
60 | Similarly you can pin down the database backend and version of your app. Say you want MariaDB 10.3:
61 |
62 | ```yaml
63 | name: mylamp
64 | recipe: lamp
65 | config:
66 | webroot: .
67 | php: 5.6
68 | database: mariadb:10.3
69 | ```
70 |
71 | Again rebuild for the changes: `lando rebuild -y` and 💥 you now have PHP 5.6 and MariaDB 10.3!
72 |
--------------------------------------------------------------------------------
/guides/how-do-i-set-the-timezone-of-a-lando-service.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: How do I set the timezone of a Lando service?
3 | description: Set the timezone of a Lando service for testing time sensitive operations
4 | guide: true
5 |
6 | authors:
7 | - name: Team Lando
8 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
9 | link: https://twitter.com/devwithlando
10 | updated:
11 | timestamp: 1594391902000
12 |
13 | mailchimp:
14 | # action is required
15 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
16 | # everything else is optional
17 | title: Want similar content?
18 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
19 | button: Sign me up!
20 | ---
21 |
22 | # How do I set the timezone of a Lando service?
23 |
24 | If you need to set the timezone of a Lando service here is how! Just symlink the appropriate timezone you need in a `run_as_root` build step. Here is an example `.lando.yml` file.
25 |
26 | ```yaml
27 | name: timezone
28 | recipe: lemp
29 | config:
30 | webroot: .
31 |
32 | services:
33 | appserver:
34 | run_as_root:
35 | - ln -snf /usr/share/zoneinfo/America/New_York /etc/localtime
36 | - echo "America/New_York" > /etc/timezone
37 | ```
38 |
39 | Just copy the `run_as_root` section into your `services` key for any service you need it for, i.e. `appserver`, `database`, or whatever service you need to set. Be sure to swap out `America/New_York` to the timezone that you need.
40 |
41 | ::: warning Tested on Debian only
42 | Note that we test this on Debian flavored services so these instructions might differ slightly or be unapplicable for non-Debian services.
43 | :::
44 |
45 | Then run a rebuild:
46 |
47 | ```bash
48 | lando rebuild -y
49 | ```
50 |
51 | and you'll have the timezone set in those services.
52 |
--------------------------------------------------------------------------------
/guides/lando-info.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Using $LANDO_INFO
3 | description: Learn how to use Lando's default environment variables inside you application.
4 | guide: true
5 |
6 | authors:
7 | - name: Team Lando
8 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
9 | link: https://twitter.com/devwithlando
10 | updated:
11 | timestamp: 1594391902000
12 |
13 | mailchimp:
14 | # action is required
15 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
16 | # everything else is optional
17 | title: Want similar content?
18 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
19 | button: Sign me up!
20 | ---
21 |
22 | # Using $LANDO_INFO
23 |
24 | Lando will inject an environment variable called `$LANDO_INFO` into each service. This is a `JSON` string representation of the `lando info` command and you can use it to see valuable information about other services such as service hostnames and database connection information and credentials.
25 |
26 | This is helpful if you want to set application configuration in a way that is portable and dynamic between many lando apps.
27 |
28 | ::: warning Use `internal_connection` information!
29 | For services with both `external_connection` and `internal_connection` information. ALWAYS use the `internal_connection` information inside of your application.
30 | :::
31 |
32 | Here are some examples of code on how to parse `$LANDO_INFO`.
33 |
34 | ## Using PHP
35 |
36 | ```php
37 | $info = json_decode(getenv('LANDO_INFO'), TRUE);
38 | print_r($info);
39 | ```
40 |
41 | ## Using Javascript/NodeJS
42 |
43 | ```js
44 | 'use strict';
45 |
46 | var info = JSON.parse(process.env.LANDO_INFO);
47 |
48 | console.log(info);
49 | ```
50 |
51 | ## Using Other
52 |
53 | More examples coming soon but in the meantime consult the documentation for your language on how to:
54 |
55 | * Grab an environment variable
56 | * Decode a JSON string to an object
57 |
--------------------------------------------------------------------------------
/guides/lando-phpstorm.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Lando + PhpStorm + Xdebug
3 | description: Learn how to configure xdebug in Lando using PhpStorm.
4 | guide: true
5 |
6 | authors:
7 | - name: Team Lando
8 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
9 | link: https://twitter.com/devwithlando
10 | updated:
11 | timestamp: 1684248136000
12 |
13 | mailchimp:
14 | # action is required
15 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
16 | # everything else is optional
17 | title: Want similar content?
18 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
19 | button: Sign me up!
20 | ---
21 |
22 | # Lando + PhpStorm + Xdebug
23 |
24 | [PhpStorm](https://www.jetbrains.com/phpstorm/) is a popular code IDE for PHP
25 | and Drupal development.
26 |
27 | This tutorial shows you the basics to get set up with PhpStorm and Xdebug.
28 | For a complete explaination of the Xdebug features and configuration options available to you in Lando see the
29 | [Using Xdebug](https://docs.lando.dev/php/config.html#using-xdebug) section of Lando's PHP plugin documentation.
30 |
31 | ## Getting Started
32 |
33 | Enable Xdebug by adding the `xdebug: true` line to your `.lando.yml`.
34 |
35 | When using a recipe, add it under the `config` key:
36 | ```yaml
37 | name: mywebsite
38 | recipe: drupal10
39 | config:
40 | xdebug: 'develop,debug'
41 | ```
42 |
43 | Otherwise, override your php service, usually named `appserver`:
44 | ```yaml
45 | name: mywebsite
46 | services:
47 | appserver:
48 | webroot: web
49 | xdebug: 'develop,debug'
50 | ```
51 |
52 | Out of the box, PhpStorm is already configured to connect to Xdebug. You shouldn't need to change anything, though you may refine settings to meet your needs in PhpStorm's Settings under Languages and frameworks >> PHP >> Debug.
53 |
54 | 1. Install the Xdebug helper extention for your browser. For Chrome-based browsers, use the [Xdebug helper](https://chromewebstore.google.com/search/xdebug) extension. For Firefox, use the [Xdebug Helper for Firefox](https://addons.mozilla.org/en-US/firefox/addon/xdebug-helper-for-firefox/) add-on.
55 | 1. Find the "Listen for PHP Debug Connections" button in your PhpStorm toolbar and click it to start listening for connections. The button will look like a beetle (or a phone in the classic UI).
56 | 1. Add a debug breakpoint to a line in your code by clicking the line number.
57 | 1. In your browser, navigate to your Lando app's URL and click the "beetle" icon that the Xdebug helper added to your address bar. Select "Debug" from the menu to tell your browser to send the appropriate parameters to Xdebug so that Xdebug activates when a request is made.
58 | 1. Refresh the page or click a link. PhpStorm should now automatically open the Debug window and produce debug output if a breakpoint is reached. It may also ask you to map the application server file paths to the paths on your host machine. Lando mounts your project root to `/app` in the application server, so you might map something like `/users/myname/myproject/` to `/app`.
59 |
60 |
61 | ## Debugging CLI Commands
62 |
63 | By default, our Drupal recipes come with Drush out of the box and also the Symfony recipe has a console tooling, which can be debugged with the following config. In order to debug any Drush/Symfony or CLI command using Xdebug with
64 | PhpStorm or a similar IDE, you will need to set two additional environment variables `PHP_IDE_CONFIG` + `XDEBUG_SESSION_START` and configure the
65 | path mapping in your IDE accordingly.
66 |
67 | ```yaml
68 | services:
69 | appserver:
70 | overrides:
71 | environment:
72 | # Support debugging CLI with Xdebug.
73 | PHP_IDE_CONFIG: "serverName=appserver"
74 | XDEBUG_SESSION_START: lando
75 | ```
76 |
77 | You are free to assign any name to "serverName" as long as it matches the server you define in the IDE settings.
78 | In the example above we set the variable to `appserver` and created a path mapping for the server accordingly:
79 |
80 | 
81 |
82 | Depending on how you have configured Xdebug to be triggered (xdebug.start_with_request is off by default)
83 | you will need to tell Xdebug to start debugging the request. You can do this by either setting that global
84 | option or by setting the following environment variable before running your request:
85 |
86 | ```
87 | export XDEBUG_SESSION="PHPSTORM"
88 | ```
89 |
90 | ## Toggling Xdebug
91 | For performance reasons, it can be a negative to always have Xdebug enabled. Best option is to install/build
92 | Xdebug extension but leave Xdebug disabled (as is the case with `pantheon` framework with `config: xdebug: false`).
93 | One option to do so is to use tooling such as:
94 |
95 | ```yaml
96 | config:
97 | # Set Xdebug off by default. We use the tooling below to turn it on as needed.
98 | xdebug: false
99 |
100 | services:
101 | appserver:
102 | overrides:
103 | environment:
104 | XDEBUG_MODE: 'debug,develop'
105 |
106 | tooling:
107 | xdebug-on:
108 | service: appserver
109 | description: Enable Xdebug.
110 | user: root
111 | cmd:
112 | - docker-php-ext-enable xdebug && kill -USR2 $(pgrep -o php-fpm) > /dev/null || /etc/init.d/apache2 reload
113 | - tput setaf 2 && echo "Xdebug On" && tput sgr 0 && echo
114 |
115 | xdebug-off:
116 | service: appserver
117 | description: Disable Xdebug.
118 | user: root
119 | cmd:
120 | - rm /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && kill -USR2 $(pgrep -o php-fpm) > /dev/null || /etc/init.d/apache2 reload
121 | - tput setaf 1 && echo "Xdebug Off" && tput sgr 0 && echo
122 | ```
123 |
--------------------------------------------------------------------------------
/guides/lando-with-vscode.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Using Lando with VSCode
3 | description: Learn how to configure xdebug in Lando using VSCode.
4 | guide: true
5 |
6 | authors:
7 | - name: Team Lando
8 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
9 | link: https://twitter.com/devwithlando
10 | updated:
11 | timestamp: 1684248136000
12 |
13 | mailchimp:
14 | # action is required
15 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
16 | # everything else is optional
17 | title: Want similar content?
18 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
19 | button: Sign me up!
20 | ---
21 |
22 | # Using Lando with VSCode
23 |
24 | [Visual Studio Code](https://github.com/Microsoft/vscode/) is a great open source editor for programming. Debugging PHP applications with it can be easy too.
25 |
26 | This is a basic setup to help you in this task.
27 |
28 | For a complete explaination of the Xdebug features and configuration options available to you in Lando see the
29 | [Using Xdebug](https://docs.lando.dev/php/config.html#using-xdebug) section of Lando's PHP plugin documentation.
30 |
31 | [[toc]]
32 |
33 | ## Getting Started
34 |
35 | Enable Xdebug by adding the `xdebug: true` line to your `.lando.yml`.
36 |
37 | When using a recipe, add it under the `config` key:
38 | ```yaml
39 | name: mywebsite
40 | recipe: drupal10
41 | config:
42 | xdebug: true
43 | ```
44 |
45 | Otherwise, override your php service, usually named `appserver`:
46 | ```yaml
47 | name: mywebsite
48 | services:
49 | appserver:
50 | webroot: web
51 | xdebug: true
52 | ```
53 |
54 | Rebuild your environment.
55 |
56 | ```bash
57 | lando rebuild -y
58 | ```
59 |
60 | Finally, create a custom `launch.json` file in your workspace in order to map paths so that XDebug works correctly.
61 |
62 | ```bash
63 | touch .vscode/launch.json
64 | code .vscode/launch.json
65 | ```
66 |
67 | ```json
68 | {
69 | "version": "0.2.0",
70 | "configurations": [
71 | {
72 | "name": "Listen for XDebug",
73 | "type": "php",
74 | "request": "launch",
75 | "port": 9003,
76 | "pathMappings": {
77 | "/app/": "${workspaceFolder}/",
78 | }
79 | }
80 | ]
81 | }
82 | ```
83 |
84 | **Note: PHP 7.1 and earlier uses xdebug 2** which uses port 9000, so change the port number above accordingly.
85 |
86 | Done!
87 |
88 | You can now click start debugging (type F5 or click on the icon in the left sidebar).
89 |
90 | ## Advanced Setup
91 |
92 | Optionally for better performance you can easily toggle Xdebug on and off with some custom tooling commands.
93 |
94 | If you're using Apache, add this to your `.lando.yml`:
95 |
96 | ```yaml
97 | config:
98 | # Set Xdebug off by default. We use the tooling below to turn it on as needed.
99 | xdebug: false
100 |
101 | services:
102 | appserver:
103 | overrides:
104 | environment:
105 | XDEBUG_MODE: 'debug,develop'
106 |
107 | tooling:
108 | xdebug-on:
109 | service: appserver
110 | description: Enable Xdebug.
111 | user: root
112 | cmd:
113 | - docker-php-ext-enable xdebug && kill -USR2 $(pgrep -o php-fpm) > /dev/null 2>&1 || /etc/init.d/apache2 reload
114 | - tput setaf 2 && echo "Xdebug On" && tput sgr 0 && echo
115 |
116 | xdebug-off:
117 | service: appserver
118 | description: Disable Xdebug.
119 | user: root
120 | cmd:
121 | - rm /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && kill -USR2 $(pgrep -o php-fpm) > /dev/null 2>&1 || /etc/init.d/apache2 reload
122 | - tput setaf 1 && echo "Xdebug Off" && tput sgr 0 && echo
123 | ```
124 |
125 | Now you can turn Xdebug on or off with `lando xdebug-on` and `lando xdebug-off`.
126 |
127 | ## Debugging PhpUnit
128 |
129 | Debugging PhpUnit tests in VSCode requires a little more setup, but Lando helps to make it easier.
130 |
131 | First, you need to have VSCode listen for debugging on 2 separate ports, because PhpUnit runs in one process and the tests themselves in another, and VSCode's Xdebug extension currently struggles with this. You accomplish this by have a launch.json that looks like this:
132 |
133 | ```json
134 | {
135 | "version": "0.2.0",
136 | "configurations": [
137 | {
138 | "name": "Listen for XDebug",
139 | "type": "php",
140 | "request": "launch",
141 | "port": 9003,
142 | "log": true,
143 | "pathMappings": {
144 | "/app/": "${workspaceFolder}/",
145 | }
146 | },
147 | {
148 | "name": "PhpUnit dummy",
149 | "type": "php",
150 | "request": "launch",
151 | "port": 9001,
152 | }
153 | ],
154 | "compounds": [
155 | {
156 | "name": "PhpUnit",
157 | "configurations": ["Listen for XDebug", "PhpUnit dummy"]
158 | }
159 | ]
160 | }
161 | ```
162 |
163 | Next add some custom tooling to your .lando.yml file, that provides a command to run PhpUnit in a way points the main PhpUnit process to the PhpUnit dummy debugger we just added. (The syntax here assumes a project-specific installation of PhpUnit, not a global one).
164 |
165 | ```yml
166 | tooling:
167 | phpunitdebug:
168 | service: appserver
169 | cmd: php -d xdebug.remote_port=9003 vendor/bin/phpunit
170 | ```
171 |
172 | **Note: PHP 7.1 and earlier uses xdebug 2** which uses port 9000, so change the port number above accordinly.
173 |
174 | Now to run debug a PhpUnit test, do the following:
175 |
176 | 1. Select the compound "PhpUnit" as your debugger in VSCode's UI, and start it.
177 | 2. Make sure you untick "Everything" in the breakpoints section of the UI, or it will break every time PhpUnit throws an exception, even if it's properly caught by PhpUnit.
178 | 3. Add a breakpoint in your code that is being tested.
179 | 4. On your command line run PhpUnit with something like `lando phpunitdebug --filter=testMyTestMethodName` (this example is of running a single test method, actually you can add any phpunit options you like at the end).
180 |
181 | ## Known issues
182 |
183 | **Xdebug session doesn't start**
184 |
185 | If Xdebug session doesn't start, dig into the log file inside the application.
186 |
187 | Enter the app with `lando ssh` and open the debug file (`/tmp/xdebug.log`).
188 |
189 | Path to the debug file is configured in your custom `php.ini`.
190 |
191 | Now open your app in a browser and see what's being logged.
192 |
193 | ```bash
194 | lando ssh
195 | tail -f /tmp/xdebug.log
196 | # Open your browser and refresh the app
197 | ```
198 |
199 | **Xdebug says "timeout trying to connect to XX.XX.XX:9003**
200 |
201 | Double-check your host machine allow connection on its port 9003.
202 |
203 | This is how you can open a specific port on a Debian/Ubuntu:
204 |
205 | `sudo iptables -A INPUT -p tcp -d 0/0 -s 0/0 --dport 9003 -j ACCEPT`
206 |
207 | ## Read More
208 |
209 | * [Original Gist with settings for XDebug in VSCode](https://gist.github.com/MatthieuScarset/0c3860def9ff1f0b84e32f618c740655)
210 | * [PHP programming in VSCode](https://code.visualstudio.com/docs/languages/php)
211 |
--------------------------------------------------------------------------------
/guides/offline-dev.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Developing offline
3 | description: Learn how to use Lando for offline local development.
4 | guide: true
5 |
6 | authors:
7 | - name: Team Lando
8 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
9 | link: https://twitter.com/devwithlando
10 | updated:
11 | timestamp: 1594391902000
12 |
13 | mailchimp:
14 | # action is required
15 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
16 | # everything else is optional
17 | title: Want similar content?
18 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
19 | button: Sign me up!
20 | ---
21 |
22 | # Developing offline
23 |
24 | Out of the box Lando uses an actual on-the-internet wildcard domain at `*.lndo.site` to route your domain names back to your localhost to provide convenient proxying. This method is minimally invasive and doesn't require Lando to alter your machine's DNS routing. This has the downside of requiring an internet connection to access your sites.
25 |
26 | However, you may want the freedom of hacking away on your site while scaling Everest or just to simply route your projects to a different wildcard domain, like `*.local.dev`, `*.seriously.hanshotfirst` or `*.my.test`. Note that we **DO NOT** recommend you use a _true_ top-level domain such as `*.test`. You can read more about why in our [security](https://docs.lando.dev/config/security) documentation.
27 |
28 | To enable offline custom domain goodness, we'll use DNSMasq to route traffic to our local system and add a single config line to our global Lando config to direct lando to use that domain for our sites.
29 |
30 | That said and before we get started we **highly recommend** you consult both the [proxy](https://docs.lando.dev/config/proxy) and [security](https://docs.lando.dev/config/security) documentation to get a good handle on what is possible (and not possible) here.
31 |
32 | ## Mac Specific Instructions
33 |
34 | 1. Ensure you've installed [Homebrew](https://brew.sh/).
35 | 2. Install DNSMasq: `brew install dnsmasq`
36 | 3. Follow the instructions in the output of `brew info dnsmasq`
37 | 4. Add the following line to your `/usr/local/etc/dnsmasq.conf` (on Apple Silicon it is `/opt/homebrew/etc/dnsmasq.conf`) file:
38 | ```
39 | address=/local.host/127.0.0.1
40 | ```
41 | Sub in your favorite domain for 'local.host' here if you want to use something more flashy.
42 |
43 | 5. Restart DNSMasq: `brew services restart dnsmasq`
44 | 6. For macOS to resolve requests from *.local.host to localhost we need to add a resolver:
45 | ```
46 | sudo mkdir -p /etc/resolver
47 | sudo nano /etc/resolver/local.host
48 | ```
49 | 7. Add the following line to the local.host file resolver in /etc/resolver/.
50 | ```
51 | nameserver 127.0.0.1
52 | ```
53 | 8. Reboot macOS to enable the new resolver.
54 | 9. Flush your DNS, just to be sure that your browsers use the new dns
55 | directives.
56 | ```
57 | sudo dscacheutil -flushcache
58 | sudo killall -HUP mDNSResponder
59 | ```
60 | 10. Open your `~/.lando/config.yml` file and add the following line:
61 | ```yaml
62 | domain: local.host
63 | ```
64 | Again, allow your creativity to flourish and use whatever domain makes you smile.
65 |
66 | 11. Power Lando down with `lando poweroff`
67 | 12. Start up your favorite Lando app to test it out with `lando start` from within your app's root directory. You should see something like:
68 |
69 | ```bash
70 | BOOMSHAKALAKA!!!
71 |
72 | Your app has started up correctly.
73 | Here are some vitals:
74 |
75 | NAME bestappever
76 | LOCATION /Users/McFly/timemachines/bestappever
77 | SERVICES appserver, nginx, database, cache, node
78 |
79 | APPSERVER URLS https://localhost:32791
80 | http://localhost:32792
81 | http://bestappever.local.host
82 | https://bestappever.local.host
83 | ```
84 | 13. Load it up in the browser and confirm everything is happy and working.
85 |
86 | Enjoy your signature domain while you hack away in complete wifi-less splendor.
87 |
--------------------------------------------------------------------------------
/guides/overriding-a-service-version.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Overriding a Service Version or Image
3 | description: Modify the underlying Docker images used by your Lando services so that you can custom tailor the container environment for your apps!
4 | guide: true
5 |
6 | authors:
7 | - name: Team Lando
8 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
9 | link: https://twitter.com/devwithlando
10 | updated:
11 | timestamp: 1594391902000
12 |
13 | mailchimp:
14 | # action is required
15 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
16 | # everything else is optional
17 | title: Want similar content?
18 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
19 | button: Sign me up!
20 | ---
21 |
22 | # Overriding a Service Version or Image
23 |
24 | The Docker images Lando uses for services are well optimized for local development, but occasionally you need to
25 | override those images with some of your own secret sauce. Lando makes this easy to do through the services `overrides`
26 | key:
27 |
28 | ```yaml
29 | name: projectofdoom
30 | recipe: drupal8
31 | config:
32 | via: nginx
33 | webroot: web
34 | php: 7.3
35 | database: mariadb
36 | xdebug: true
37 | env_file:
38 | - .env
39 | services:
40 | database:
41 | overrides:
42 | image: bitnami/mariadb:10.3.27
43 | ```
44 |
45 | In the example above, we're overriding the image to use an explicit release of Bitnami's MariaDB container to bypass a
46 | breaking change released on Bitnami's 10.3 tag (Lando's default version).
47 |
48 | You can also use this to load your own custom images:
49 |
50 | ```yaml
51 | name: projectofdoom
52 | recipe: drupal8
53 | config:
54 | via: nginx
55 | webroot: web
56 | php: 7.3
57 | database: mariadb
58 | xdebug: true
59 | env_file:
60 | - .env
61 | services:
62 | appserver:
63 | overrides:
64 | image: myamazingorg/fancyappserver:latest
65 | ```
66 |
--------------------------------------------------------------------------------
/guides/updating-plugins-v4.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Updating Lando Plugins to v4
3 | description: Learn how to update Lando Plugins to be Lando 3.21.0+ eg Lando 4 compatible
4 |
5 | authors:
6 | - name: Team Lando
7 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
8 | link: https://twitter.com/devwithlando
9 | updated:
10 | timestamp: 1710252932580
11 |
12 | mailchimp:
13 | # action is required
14 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
15 | # everything else is optional
16 | title: Want similar content?
17 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
18 | button: Sign me up!
19 | ---
20 |
21 | # Updating Lando Plugins to v4
22 |
23 | This guide should be your source of truth for updating your Lando plugins to be compatible with the forthcoming Lando 4 plugin spec.
24 |
25 | Importantly, The Lando 4 plugin spec will be **REQUIRED** for your plugin to work in Lando 4 and it will be _preferred_ for Lando 3 version 3.21.0 or higher.
26 |
27 | ::: tip Check back periodically for updates!
28 | As we continue the long, arduous and inexorable journey to Lando 4 we are going to continually update this guide so make sure you check in from time to time.
29 | :::
30 |
31 | We recommend you check out the [Lando 3.21.0+](#lando-3-21-0) section if you are _only_ looking to alleviate plugin notices in Lando 3. If you are looking to start making your plugins Lando 4 compatible we recommend you read the sections below that.
32 |
33 | Note that making your plugin Lando 4 compliant will also alleviate plugin notices in Lando 3. We've only provided the [Lando 3.21.0+](#lando-3-21-0) section as a `tl;dr` sort of thing.
34 |
35 | [[toc]]
36 |
37 | ## Lando 3.21.0+
38 |
39 | If you are getting a notice that your plugin is not Lando 4 compatible and you want to do something about it without reading _all the sections_ in this doc then you are in the right place.
40 |
41 | However, before we begin we want you to know that this is just a notice and your plugin should still work in Lando 3. This means if you are fine seeing the notice you can actually do nothing, stop reading this and get on with your life.
42 |
43 | If you are still reading we assume you would like to get rid of the notice. In which case all you need to do is create a `package.json` in the root directory of your plugin with the below content.
44 |
45 | **package.json**
46 | ```json
47 | {
48 | "name": "my-plugin",
49 | "lando": {}
50 | }
51 | ```
52 |
53 | Note that you probably want to replace `my-plugin` with the name of your plugin, but other than that you should be good to go now! 🎉
54 |
55 | If you are interested in understanding the above changes more you should check out the rest of this doc.
56 |
57 | ## Validating
58 |
59 | In Lando 3 a "valid" plugin was simply a package that contained an `index.js` in its root directory. In Lando 4 plugin validation is different. While you no longer need an `index.js` for validation purposes you do now need:
60 |
61 | ### 1. A `package.json`
62 |
63 | You will need a `package.json` in the root directory of your plugin that has _at least_ the `name` key set as in:
64 |
65 | **package.json**
66 | ```json
67 | {
68 | "name": "my-awesome-plugin"
69 | }
70 | ```
71 |
72 | That said you will almost always want the `package.json` to resemble a usual `node` project.
73 |
74 | ### 2. A plugin manifest
75 |
76 | You will also need a plugin manifest that describes the kinds of things your plugin contains. Subsequent sections in this doc will detail the kinds of things you can put in the manifes. This section only details how to provide said manifest which is either in the `package.json` directly or in a manifest file.
77 |
78 | #### package.json
79 |
80 | The simplest way to provide the manifest is by adding a `lando` key to your `package.json`. A minimal valid implementation of a manifest is this:
81 |
82 | ```json
83 | {
84 | "name": "my-awesome-plugin",
85 | "lando": {}
86 | }
87 | ```
88 |
89 | This is recommended for thin plugins that contain few things that can be statically defined.
90 |
91 | #### manifest file
92 |
93 | As your plugin grows in complexity it may be useful for readability and functional purposes to migrate to a manifest file. The manifest file should live in the root of your plugin next to the `package.json` and there are three different files you can use.
94 |
95 | * `plugin.js`
96 | * `plugin.yaml`
97 | * `plugin.yml`
98 |
99 | Lando will use the first one it finds according to the order above and its contents will be merged on top of any manifest content you have in your `package.json`. However, to decrease confusion we recommend you either remove the `lando` key from your `package.json` or set it to an empty `{}` object if you are planning on using a manifest file.
100 |
101 | **plugin.js**
102 |
103 | The `.js` variant is useful if your manifest is dynamic such as in the below example which adds extra commands only if `core.development` is on.
104 |
105 | ```js
106 | module.exports = context => {
107 | const plugin = {
108 | name: '@lando/development',
109 | registry: {legacy: {}},
110 | };
111 |
112 | // if devmode is on then add dev command
113 | if (context.config.get('core.development')) {
114 | plugin.tasks = {
115 | 'plugins': path.resolve(__dirname, 'tasks', 'plugins'),
116 | 'registry': path.resolve(__dirname, 'tasks', 'registry'),
117 | };
118 | }
119 |
120 | // return plugin
121 | return plugin;
122 | };
123 | ```
124 |
125 | **plugin.yaml**
126 |
127 | The `yaml|yml` variant is useful mostly for readability and separation of concerns purposes.
128 |
129 | ```yaml
130 | name: "my-plugin"
131 | tasks:
132 | full-power: ./tasks/power.js
133 | services:
134 | localstack: ./services/locastack.js
135 | ```
136 |
137 | ## Updating
138 |
139 | If you are deploying your plugin to a `npm` compatible registry and you want people to be able to update it via `lando update` then you need to update your `package.json` so that Lando knows it's a Lando plugin and not some other rando `npm` package.
140 |
141 | If you are already using the `lando` key in your `package.json` as the plugin manifest then that is sufficient and you don't need to do anything else.
142 |
143 | If you are instead using a manifest file like `plugin.js`, `plugin.yaml` or `plugin.yml` then you will need to add `lando-plugin` to `keywords` in your `package.json` like this:
144 |
145 | ```json
146 | {
147 | "name": "my-awesome-plugin",
148 | "keywords": [
149 | "lando-plugin"
150 | ],
151 | }
152 | ```
153 |
--------------------------------------------------------------------------------
/help.md:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/help/dns-rebind.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Learn how to handle DNS Rebinding protection when using Lando for local development.
3 | ---
4 |
5 | # DNS Rebinding Protection
6 |
7 | If you are using [Lando proxying](https://docs.lando.dev/core/v3/proxy.html), which is enabled by default, some routers and firewalls may prevent Lando from properly routing `*.lndo.site` addresses to your application through [DNS Rebinding](https://en.wikipedia.org/wiki/DNS_rebinding) protection. For example the `DD-WRT` router firmware enables this protection by default.
8 |
9 | If you are seeing red URLs after you start your app and you are unable to look up the url DNS rebinding protection may be the cause. You can test this out using `nslookup`.
10 |
11 | ```bash
12 | nslookup .lndo.site
13 | ```
14 |
15 | If this check fails we recommend you consult your router documentation or system administrator to allowlist `*.lndo.site` domains.
16 |
17 | If you can't or don't want to remove this protection, you can alternatively:
18 |
19 | 1. Use the steps in [Working Offline](https://docs.lando.dev/core/v3/proxy.html#working-offline-or-using-custom-domains) to bypass the external DNS lookup altogether
20 | 2. [Disable proxying](https://docs.lando.dev/core/v3/proxy.html#configuration) and rely on the Lando produced `localhost` address
21 |
22 | That said, the ideal scenario is to make sure your network is set up to not block `*.lndo.site` addresses.
23 |
24 | For DD-WRT router firmware, look under the services tab in the admin interface for DNSMasq. In the `Additional DNSMasq Options` textarea, add `address=/lndo.site/127.0.0.1` and save the changes. When you start your app, your Appserver URLs should come up green.
25 |
--------------------------------------------------------------------------------
/help/file-sync.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Learn how to handle file syncing issue when using Lando for local development.
3 | ---
4 |
5 | # File syncing issues
6 |
7 | There are generally a few causes of slow or stalled file sharing. Here are some workarounds and checks you can do in each circumstance.
8 |
9 | ## 1. Has my sync stalled or failed?
10 |
11 | A common reason for a failed sync is that the docker filesharing daemon has crashed. You can resolve the latter by restarting the docker daemon itself.
12 |
13 | ## 2. Is my app located in a shared directory?
14 |
15 | Your app needs to live inside of a shared drive or folder. Here are the following default shared drive/folder locations:
16 |
17 | | OS | Shared Drives/Folders |
18 | | -- | -- |
19 | | `Windows` | `C:\` |
20 | | `macOS` | `/Users`, `/Volumes`, `/tmp`, `/private` |
21 | | `Linux` | `All the folders` |
22 |
23 | Note that on macOS these need to be HARD LINKS. In other words, you cannot symlink `/Users` to `/SomethingElse` and expect it to work. This is often the case if you have an external drive.
24 |
25 | Also note that you can add additional folders and shares to Windows/macOS through the Docker GUI.
26 |
--------------------------------------------------------------------------------
/help/logs.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Learn how to access logs for general troubleshooting when using Lando for local development.
3 | ---
4 |
5 | # Accessing Logs
6 |
7 | Lando has a few different log layers to help you diagnose any issues you might be having.
8 |
9 | ## Install Logs
10 |
11 | If you have a failed installation, you should be able to find logs in the following locations...
12 |
13 | * **Windows** - `%TEMP%\Setup Log**.txt`
14 | * **macOS** - `/var/log/install.log`
15 | * **Linux** - Differs per system but check common `apt` or `dnf/yum` logs
16 |
17 | ## Runtime Logs
18 |
19 | If you encounter an error during runtime, check out the runtime logs at...
20 |
21 | * **macOS/LINUX** - `~/.lando/logs`
22 | * **Windows** - `C:\Users\{ME}\.lando\logs`
23 |
24 | There should be core lando logs called `lando-error.log` and a more robust `lando.log`. There should also be error and verbose logs associated with each of your applications eg `myapp.log` and `myapp-error.log`.
25 |
26 | ::: tip
27 | Run the failing command again in verbose mode. You can pass in `-v`, `-vv`, `-vvv` or `-vvvv` to toggle the level of verbosity. You can also [edit your global config](https://docs.lando.dev/core/v3/global.html) to set the default console log level.
28 | :::
29 |
30 | ## Container Logs
31 |
32 | ```bash
33 | lando logs -s SOME_SERVICE
34 | ```
35 |
36 | See the [lando logs](https://docs.lando.dev/cli/logs.html) command for more information.
37 |
38 | ## Advanced Troubleshooting
39 |
40 | One of the best ways to troubleshoot an issue is to use Docker commands directly or use the [lando ssh](https://docs.lando.dev/cli/ssh.html) or [lando info --deep](https://docs.lando.dev/cli/info.html) command.
41 |
42 | ```bash
43 | # List all my containers
44 | docker ps --all
45 |
46 | # List all lando containers
47 | docker ps --filter label=io.lando.container=TRUE --all
48 |
49 | # List all containers for a particular app
50 | docker ps --all | grep appname
51 |
52 | # Inspect a container
53 | docker inspect appname_service_1
54 |
55 | # Check out the logs for a container
56 | docker logs appname_service_1
57 |
58 | # Attach to a container (this is like SSHing)
59 | docker exec -i -t appname_service_1 bash
60 | ```
61 |
--------------------------------------------------------------------------------
/help/proxy.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Learn how to handle other proxies or things running on ports 80 or 443 when using Lando for local development.
3 | ---
4 |
5 | # Running Lando behind a Proxy
6 |
7 | Users, particularly Windows users, may need to provide some additional networking configuration to their apps if they are sitting behind a proxy. A tell tale sign that you require this sort of configuration is connection issues. Here is an example of what such an issue looks like...
8 |
9 | ```bash
10 | Creating test_appserver_1 ... done
11 | % Total % Received % Xferd Average Speed Time Time Time Current
12 | Dload Upload Total Spent Left Speed
13 | 0 0 0 0 0 0 0 0 --:--:-- 0:00:20 --:--:-- 0
14 | curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
15 | error: Error: 7
16 | ```
17 |
18 | If you think you may be in this situation there is a Lando driven mechanism you can use to help alleviate the issue as well as various Docker level mechanisms you can read about [below](./proxy.md#potential-docker-driven-solutions).
19 |
20 | ## Lando Environment Files
21 |
22 | You can make sure your containers are aware of any relevant proxies by using a [lando environment file](https://docs.lando.dev/core/v3/env.html) and setting your config there. Below is an example of the things you would want to set in this `env` file. You do not need to define both although that is preferred.
23 |
24 | ```bash
25 | HTTP_PROXY=http://my_proxy:80
26 | HTTPS_PROXY=https://my_proxy:443
27 | ```
28 |
29 | It is also a good practice to `.gitignore` the `env` file so you can set `proxy` settings that are relevant to you without forcing those settings on other users and environments.
30 |
31 | ## Potential Docker driven solutions
32 |
33 | * https://docs.docker.com/engine/daemon/proxy/
34 | * https://www.cloudbees.com/blog/using-docker-behind-a-proxy
35 | * https://docs.docker.com/engine/cli/proxy/
36 |
--------------------------------------------------------------------------------
/help/purging-containers.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: If all else fails, try purging all your containers.
3 | ---
4 |
5 | # Purging Containers
6 |
7 | ::: warning May Cause Other Issues
8 | if all else fails you can try this but note that this might cause other unexpected behavior.
9 | :::
10 |
11 | Sometimes you may get errors that do not make sense. Your docker containers may have been "corrupted" or just confused. This is sort of a nuclear option, but can fix most issues we have seen.
12 |
13 | ::: tip Backup Stuffs
14 | If you can, remember to export all your databases for any sites you don't have a remote copy of.
15 | :::
16 |
17 | #### Purging command
18 |
19 | To purge all your containers and Lando cache, run the following command in your terminal:
20 |
21 | ```bash
22 | lando poweroff && docker system prune -a --volumes && rm -rf ~/.lando/cache
23 | ```
24 |
25 | **Windows Users**
26 |
27 | The location of your store app configuration may be different than `~/.lando`. By default the location is `C:\Users\ME\.lando` you can also use `lando config | grep userConfRoot` to locate the exact path. Once you have the path, adjust the command above accordingly.
28 |
--------------------------------------------------------------------------------
/help/switching-dbs.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Understand hiccups, caveats or issues switching databases when using Lando for local development.
3 | ---
4 |
5 | # Switching Database Configuration
6 |
7 | If you are currently using a database with Lando and you decide to change its type, version or credentials in your `.lando.yml` file *it's possible* that your database service will not restart correctly or with the expected values once you've made the change.
8 |
9 | For a change in credentials it is required that you `lando destroy && lando start` since these are set at container creation and persist through a `lando rebuild`.
10 |
11 | For a change in type or version this is caused by incompatibilities in the underlying file format that various databases and versions use to store their data. If you are unsure about the aforementioned file format compatibility we recommend you `lando destroy` and recreate the app instead of doing a `lando restart` or `lando rebuild`.
12 |
13 | If you do not do this and there exists an incompatibility it is likely your database will not start up correctly. Newer versions of lando will report this as a warning that your database service is unhealthy. Luckily, even if you get this point a `lando destroy` and `lando start` should set you back onto the path of righteousness.
14 |
15 | Listed below are a few tell tale signs that this is the situation you are in.
16 |
17 | ## 1. Running `lando mysql`
18 |
19 | If you run `lando mysql` or the analgous command for your database type you will see an error that looks similar to:
20 |
21 | ```bash
22 | ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")
23 | ```
24 |
25 | ## 2. Scoping Logs
26 |
27 | You can also run `lando logs -s database` where `database` is the name of your database service. If you are unsure what the name of your service is you can run `lando info` to see.
28 |
29 | You should see an error in the logs that looks something like this:
30 |
31 | ```bash
32 | database_1 | 2017-11-15 16:01:10 140537640757184 [Note] InnoDB: Using SSE crc32 instructions
33 | database_1 | 2017-11-15 16:01:10 140537640757184 [Note] InnoDB: Initializing buffer pool, size = 384.0M
34 | database_1 | 2017-11-15 16:01:10 140537640757184 [Note] InnoDB: Completed initialization of buffer pool
35 | database_1 | 2017-11-15 16:01:10 140537640757184 [Note] InnoDB: Highest supported file format is Barracuda.
36 | database_1 | InnoDB: No valid checkpoint found.
37 | database_1 | InnoDB: A downgrade from MariaDB 10.2.2 or later is not supported.
38 | database_1 | InnoDB: If this error appears when you are creating an InnoDB database,
39 | database_1 | InnoDB: the problem may be that during an earlier attempt you managed
40 | database_1 | InnoDB: to create the InnoDB data files, but log file creation failed.
41 | database_1 | InnoDB: If that is the case, please refer to
42 | database_1 | InnoDB: http://dev.mysql.com/doc/refman/5.6/en/error-creating-innodb.html
43 | database_1 | 2017-11-15 16:01:10 140537640757184 [ERROR] Plugin 'InnoDB' init function returned error.
44 | database_1 | 2017-11-15 16:01:10 140537640757184 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
45 | database_1 | 2017-11-15 16:01:10 140537640757184 [Note] Plugin 'FEEDBACK' is disabled.
46 | database_1 | 2017-11-15 16:01:10 140537640757184 [ERROR] Could not open mysql.plugin table. Some plugins may be not loaded
47 | database_1 | 2017-11-15 16:01:10 140537640757184 [ERROR] Unknown/unsupported storage engine: innodb
48 | database_1 | 2017-11-15 16:01:10 140537640757184 [ERROR] Aborting
49 | database_1 |
50 | ```
51 |
--------------------------------------------------------------------------------
/help/updating.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Get some help if you have problems with Lando after updating.
3 | ---
4 |
5 | # Updating
6 |
7 | While we try to make updating as seamless as possible Lando has _a lot_ of moving parts so sometimes there are edge cases we miss.
8 |
9 | If you find yourself amongst the lucky edge cases we've prepared this guide to help you work through them on your own.
10 |
11 | ## 1. Where is `lando update`?
12 |
13 | If you don't have a `lando update` command we recommend you first install/update via the [latest available package installer](https://github.com/lando/lando/releases).
14 |
15 | Note that the latest package installer may be a few versions behind where we are today but that's ok because once you have it you can then `lando update`!
16 |
17 | ## 2. Why did my app stop working?
18 |
19 | ### `lando rebuild`
20 |
21 | The vast majority of app specific errors you may run into after updating can be resolved by running a `lando rebuild` on the problematic app. This will ensure your container is clean, up to date and rebuilt against the updated `lando` and `docker` versions.
22 |
23 | ```bash
24 | lando rebuild -y
25 | ```
26 |
27 | ### Force remove the proxy
28 |
29 | If you're having trouble with `*.lndo.site` or custom `proxy` urls, and you've already determined you do not have an issue with [DNS Rebinding protection](./dns-rebind.md) then manually force removing the `proxy` container and restarting your app could help.
30 |
31 | ```bash
32 | # Remove the proxy
33 | docker rm -f landoproxyhyperion5000gandalfedition_proxy_1
34 |
35 | # Restart the app
36 | lando restart
37 | ```
38 |
39 | Note that if you have other apps running when you force remove the `proxy` you will likely need to `lando restart` them as well.
40 |
41 | ## 3. Why isn't the CLI updating?
42 |
43 | When `lando update` was in `beta` there were a few issues we had to resolve that now require some manual remediation. Here are a few of the big ones:
44 |
45 | ### Manually updating first
46 |
47 | If you are on the `v3.21.0-beta` series then it's probably best to [manually update](#_1-where-is-lando-update) before running `lando update` again.
48 |
49 | ### Permissions errors
50 |
51 | If you are getting errors about files in either `~/.lando/config` or `~/.lando/scripts` we recommend the following:
52 |
53 | ```sh
54 | lando poweroff
55 | rm -rf ~/.lando/config ~/.lando/scripts
56 | lando update
57 | ```
58 |
59 | ### CLI reporting wrong version
60 |
61 | If you installed Lando with the older package installer, particularly on Windows, you may have an older version of Lando sitting higher up in `PATH`.
62 |
63 | You can check to see which `lando` is being invoked with the below:
64 |
65 | ::: code-group
66 | ```sh [sh]
67 | which lando
68 | ```
69 |
70 | ```bat [cmd.exe]
71 | where lando
72 | ```
73 |
74 | ```powershell [powershell]
75 | Get-Command lando
76 | ```
77 | :::
78 |
79 | If the response to the above command is not where you chose to install Lando, which is `~/.lando/bin/lando` by default then you should follow the below steps.
80 |
81 | 1. Remove the `lando` reported by `which|where|Get-Command` or remove the directory it lives in from `PATH`.
82 | 2. Rerun `which|where|Get-Command lando` and if it reports the wrong directory then repeat Step 1.
83 |
84 | ## 4. Why are some services not working?
85 |
86 | You may have accidentally installed the _slim_ version of `lando` which does not include any Lando plugins by default.
87 |
88 | You can usually fix this by simply running the hidden command:
89 |
90 | ```sh
91 | lando setup
92 | ```
93 |
94 | You can read more about that command [here](https://docs.lando.dev/cli/setup.html)
95 |
96 | ## 5. What if I'm still stuck?
97 |
98 | If you get this far and things are still not working the most likely scenario is you've found a legitimate bug which you should report. To do that either:
99 |
100 | * [Join the Lando slack](https://www.launchpass.com/devwithlando) and report there
101 | * [Spin up an issue on GitHub](https://github.com/lando/lando/issues/new/choose)
102 |
--------------------------------------------------------------------------------
/help/win-also-vb.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Learn about using VirtulBox concurrently when using Lando for local development, especially on Windows.
3 | ---
4 |
5 | # Windows is also running VirtualBox
6 |
7 | In some cases you cannot use VirtualBox, a common development virtualization tool, with Hyper-V. The **tl;dr** there is:
8 |
9 | > VirtualBox and Hyper-V cannot co-exist on the same machine. Only one hypervisor can run at a time, and since Hyper-V runs all the time, while VirtualBox only runs when it is launched, VirtualBox is the loser in this scenario.
10 |
11 | Luckily, there is a documented workaround you can check out over at
12 | [https://derekgusoff.wordpress.com/2012/09/05/run-hyper-v-and-virtualbox-on-the-same-machine/](https://derekgusoff.wordpress.com/2012/09/05/run-hyper-v-and-virtualbox-on-the-same-machine/)
13 |
--------------------------------------------------------------------------------
/help/win-file-upload.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Learn about weird file upload issues when using Lando for local development especially while using Drupal on Windows.
3 | ---
4 |
5 | # Uploading Files in Windows
6 |
7 | ::: tip Probably fixed in 3.0.0-rc.2+
8 | It is likely this issue has been resolved in Lando `3.0.0-rc.2` but let's keep these docs around for awhile just in case
9 | :::
10 |
11 | When uploading files via PHP and potentially other things in Lando on Windows you may see an error like the following:
12 |
13 | ```
14 | The upload directory private://TESTDIR for the file field field_TESTFIELD could not be created or is not accessible. A newly uploaded file could not be saved in this directory as a consequence, and the upload was canceled.
15 | ```
16 |
17 | ## The Problem
18 |
19 | The `tl;dr` is `php` will incorrectly assume a writable directory mounted by Docker Desktop is in fact not writable.
20 |
21 | This seems to be caused by a convergence of two factors:
22 |
23 | 1. How Docker Desktop uses `SMB` to mount files
24 | 2. How the built in php function [`is_writable`](http://php.net/manual/en/function.is-writable.php) behaves
25 |
26 | [This comment](https://github.com/wodby/docker4drupal/issues/29#issuecomment-316055081) while Drupal in flavor is helpful for a deeper dive on things.
27 |
28 | If you are interested in replicating the issue yourself you should be able to do something like:
29 |
30 | 1. `lando start` a Drupal flavored app you have
31 | 2. Log in as an admin
32 | 3. Spin up a content type that has an image field
33 | 4. Create a new piece of content for that content type
34 | 5. Add a first image (this should succeed)
35 | 6. Add a second image (this should fail)
36 |
37 | The Drupal core `includes/file.inc` file contains a function `file_prepare_directory`. This function is called on each file upload. If the upload is in a directory that does not yet exist, the directory is created, its writability is assumed and the upload succeeds. However, if a file upload is done in a directory that already exists then php's built-in function `is_writable` is used. This will fail for non-root users.
38 |
39 | ## The Solutions
40 |
41 | ### Using nginx (recommended)
42 |
43 | Running the `php` instance as the `root` user seems to allow `is_writable` to function as expected and alleviates the issue described above. As of `beta.38` Lando will run `nginx` flavored `php` as `root` on Windows by default since this has no other known negative side effects.
44 |
45 | **If you are experiencing this issue we recommend you upgrade to `beta.38+` and make sure your Lando app is using `nginx` instead of `apache`.**
46 |
47 | Running `apache` as `root` is currently not supported. See [this issue](https://github.com/docker-library/httpd/issues/48) if you are interested in trying to get Docker to support `run-as-root` capable `apache` as this would provide full out-of-the-box coverage for this issue.
48 |
49 | ### Patching Your Code
50 |
51 | If switching to `nginx` is not an option then it's possible the framework you are using (eg Drupal or Laravel) may have already identified this issue and supplied a patch to help. For example [this](https://www.drupal.org/node/944582) may be relevant for Drupal 7.
52 |
53 | A Google search for `Docker Desktop file sharing MYFRAMEWORK` is probably a good way to start.
54 |
--------------------------------------------------------------------------------
/help/wkbox.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Learn about using Lando with Kalabox.
3 | ---
4 |
5 | # Using Lando with Kalabox
6 |
7 | While Lando is in many ways the successor project to Kalabox it is actually a completely different project that can run side by side with a users existing Kalabox... with a few caveats.
8 |
9 | * If you've turned Kalabox on first, you should be able to reliably start up any Lando app.
10 | * If you've turned Lando on first (and it is bound to port 80) you will likely not be able to turn on Kalabox.
11 | * If you've started Docker in prep for using Lando but haven't started Kalabox, there may still be Kalabox containers running. Run 'docker ps' to see running containers then run 'docker kill' and the id of the Kalabox container to get your ports back for Lando.
12 |
13 | To get around this restriction you should always `lando poweroff` before attempting to activate Kalabox.
14 |
--------------------------------------------------------------------------------
/install.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Installation
3 | description: Redirect for install instructions
4 | ---
5 |
6 |
9 |
--------------------------------------------------------------------------------
/lando-101.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Learn the Lando basics with Lando 101
3 | layout: page
4 | title: Lando 101
5 | sidebar: false
6 | ---
7 |
8 |
9 |
10 | Lando 101
11 |
12 |
13 | Learn the basics with Lando 101
14 |
15 |
16 |
17 |
18 |
19 |
20 |
25 |
--------------------------------------------------------------------------------
/lando-101/lando-config.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Lando Configure
3 | description: An example using the config key to configure a Lando recipe.
4 |
5 | authors:
6 | - name: Team Lando
7 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
8 | link: https://twitter.com/devwithlando
9 | updated:
10 | timestamp: 1594391902000
11 |
12 | mailchimp:
13 | # action is required
14 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
15 | # everything else is optional
16 | title: Want similar content?
17 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
18 | button: Sign me up!
19 | ---
20 |
21 | # Lando Configure
22 |
23 | As we've seen Lando recipes are very useful and dead simple. So far our `.lando.yml` file for the LAMP recipe is just two lines:
24 |
25 | ```yaml
26 | name: lando-101
27 | recipe: lamp
28 | ```
29 |
30 | The power of Lando is our ability to configure and change it to meet our needs. We can configure it to match production for instance. Let's add a PHP file to our `lando-101` app just so we have something to view in our app. Open a file in your favorite text editor and add a call to `phpinfo()` and save it as `index.php`.
31 |
32 | ```php
33 |
40 |
41 | We can see that this reports the PHP version as `7.3`. Enter the `config` key. Say our production server for the `lando-101` app is running PHP 7.4 and we want to match that in our Lando development environment. We can do that by using the [config](https://docs.lando.dev/lamp/config.html) key in our `.lando.yml` file to configure how the recipe is built. In this case we want PHP 7.4. Edit your `.lando.yml` file like this:
42 |
43 | ```yaml
44 | name: lando-101
45 | recipe: lamp
46 | config:
47 | php: 7.4
48 | ```
49 |
50 | Now let's rebuild our app with the `lando rebuild -y` command. Now if we visit our app in a browser we will see the the PHP version is reported as `7.4`. Simple! Just like that we've configured our app to use a different version of PHP.
51 |
52 | You can read the details about the `config` key in the docs: [config](https://docs.lando.dev/core/v3/recipes.html).
53 |
--------------------------------------------------------------------------------
/lando-101/lando-init.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Lando Init
3 | description: Introduction to Lando ~ Using lando init command.
4 |
5 | authors:
6 | - name: Team Lando
7 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
8 | link: https://twitter.com/devwithlando
9 | updated:
10 | timestamp: 1594391902000
11 |
12 | mailchimp:
13 | # action is required
14 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
15 | # everything else is optional
16 | title: Want similar content?
17 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
18 | button: Sign me up!
19 | ---
20 |
21 | # Lando Init
22 |
23 | The `lando init` command follows the pattern of `git init` or `npm init`. Where `lando init` will prompt you with some questions and prepares a `.lando.yml` configuration file for you. You can run `lando init` from an empty directory or from an extant codebase.
24 |
25 | Let's step through the questions that `lando init` prompts us with:
26 |
27 | ```bash
28 | gff ~/code/lando-ops/guides-example-code/introduction-to-lando/lando-init
29 | () └─ ∴ lando init
30 | ? From where should we get your app's codebase?
31 | current working directory
32 | github
33 | pantheon
34 | platformsh
35 | ❯ remote git repo or archive
36 | ```
37 |
38 | The first question is `? From where should we get your app's codebase?` and it wants to know where the application code lives, i.e. if you are in an application that you want to initialize for use with Lando you would choose `current working directory`.
39 |
40 | The next question is `? What recipe do you want to use?`. Recipes are pre-configured start states that Lando knows about. For this course we'll choose the LAMP recipe.
41 |
42 | ```bash
43 | ? What recipe do you want to use? (Use arrow keys)
44 | ❯ lamp
45 | laravel
46 | lemp
47 | mean
48 | pantheon
49 | platformsh
50 | wordpress
51 | (Move up and down to reveal more choices)
52 | ```
53 |
54 | Next up Lando prompts us for the webroot of the application: `? Where is your webroot relative to the init destination?` The webroot can be nested or it can be in the same location as the `.lando.yml` file the project root. For this course we'll leave the default `.` for the current working directory.
55 |
56 | ```bash
57 | ? Where is your webroot relative to the init destination? (.)
58 | ```
59 |
60 | Then Lando needs to know a name for our application:
61 |
62 | ```bash
63 | ? What do you want to call this app? Lando 101
64 | ```
65 |
66 | We'll name this app `Lando 101`.
67 |
68 | That's it!
69 |
70 | We've successfully initialized our first Lando app. We should see a message similar to:
71 |
72 | ```bash
73 | ? What do you want to call this app? lando-101
74 |
75 | _ __ _
76 | / |/ /__ _ __ _ _____( )_______
77 | / / _ \ |/|/ / | |/|/ / -_)// __/ -_)
78 | /_/|_/\___/__,__/ |__,__/\__/ /_/ \__/
79 |
80 | _________ ____ __ _______ _______ _ ______________ __ ___________ ______
81 | / ___/ __ \/ __ \/ //_/ _/ |/ / ___/ | | /| / / _/_ __/ // / / __/ _/ _ \/ __/ /
82 | / /__/ /_/ / /_/ / ,< _/ // / (_ / | |/ |/ // / / / / _ / / _/_/ // , _/ _//_/
83 | \___/\____/\____/_/|_/___/_/|_/\___/ |__/|__/___/ /_/ /_//_/ /_/ /___/_/|_/___(_)
84 |
85 | Your app has been initialized!
86 |
87 | Go to the directory where your app was initialized and run lando start to get rolling.
88 | Check the LOCATION printed below if you are unsure where to go.
89 |
90 | Oh... and here are some vitals:
91 |
92 | NAME lando-101
93 | LOCATION /home/gff/code/lando-ops/guides-example-code/introduction-to-lando/lando-init
94 | RECIPE lamp
95 | DOCS https://docs.lando.dev/config/lamp.html
96 | ```
97 |
98 | And the result is that Lando has written a `.lando.yml` configuration file for us in the project root. If you are following along that file should look like this:
99 |
100 | ```yaml
101 | name: lando-101
102 | recipe: lamp
103 | ```
104 | The `.lando.yml` file gives Lando the information it needs to spin up your application. In this case just two lines! The `name` of the app and the `recipe` to use. We recommend that you commit the `.lando.yml` file to version control so that everyone on your team can have the exact same configuration for development.
105 |
106 | You can see the full documentation for [lando init](https://docs.lando.dev/cli/init.html).
107 |
--------------------------------------------------------------------------------
/lando-101/lando-proxy.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Lando Proxy
3 | description: An example of using the Lando proxy key.
4 |
5 | authors:
6 | - name: Team Lando
7 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
8 | link: https://twitter.com/devwithlando
9 | updated:
10 | timestamp: 1594391902000
11 |
12 | mailchimp:
13 | # action is required
14 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
15 | # everything else is optional
16 | title: Want similar content?
17 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
18 | button: Sign me up!
19 | ---
20 |
21 | # Lando Proxy
22 |
23 | Some `services` like `mailhog` provide an admin interface via a browser. In such cases it is convenient to assign a URL to the service container. We do so via the `proxy` key in our `.lando.yml` file.
24 |
25 | Let's add a URL to our `mailhog` service so we can access the MailHog dashboard. Open up your Lando 101 `.lando.yml` file and add a proxy section like so:
26 |
27 | ```yaml
28 | name: lando-101
29 | recipe: lamp
30 | config:
31 | php: 7.4
32 | services:
33 | mailhog:
34 | type: mailhog:v1.0.0
35 | portforward: true
36 | hogfrom:
37 | - appserver
38 | proxy:
39 | mailhog:
40 | - mail.lando-101.lndo.site
41 | ```
42 |
43 | The new config being the `proxy` key which takes a `service` and the `service` gets an array of URLs in this case `- mail.lando-101.lndo.site`. You can add a URL to any service you like.
44 |
45 | ::: warning Rebuild Required
46 | After adding a `proxy` make sure to `rebuild` the Lando 101 app.
47 |
48 | ```bash
49 | lando rebuild -y
50 | ```
51 | :::
52 |
53 | After rebuilding we can now access the new `mail.lando-101.lndo.site` URL to view the MailHog dashboard.
54 |
55 |
56 |
57 | Using the `proxy` key in our `.lando.yml` file we can add a URL to any `service` in a Lando app! If you need to dig deeper you can read the [full proxy documentation](https://docs.lando.dev/core/v3/proxy.html).
58 |
--------------------------------------------------------------------------------
/lando-101/lando-services.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Lando Services
3 | description: An example adding the mailhog service to a Lando recipe.
4 |
5 | authors:
6 | - name: Team Lando
7 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
8 | link: https://twitter.com/devwithlando
9 | updated:
10 | timestamp: 1594391902000
11 |
12 | mailchimp:
13 | # action is required
14 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
15 | # everything else is optional
16 | title: Want similar content?
17 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
18 | button: Sign me up!
19 | ---
20 |
21 | # Lando Services
22 |
23 | Another way you can extend Lando recipes is by adding additional [services](https://docs.lando.dev/core/v3/services.html). If you need to add a second database to your app, a node container for theming, or any number of use cases you can handle them by adding the appropriate service to your app. In this example we'll add a [mailhog](https://docs.lando.dev/mailhog) service to our Lando 101 app!
24 |
25 | Open up your `.lando.yml` configuration file in your favorite text editor. If you are following along with Lando 101 that file currently looks like this:
26 |
27 | ```yaml
28 | name: lando-101
29 | recipe: lamp
30 | config:
31 | php: 7.4
32 | ```
33 |
34 | We'll now add the `services` key to our `.lando.yml` file and add in our `mailhog` service:
35 |
36 | ```yaml
37 | name: lando-101
38 | recipe: lamp
39 | config:
40 | php: 7.4
41 | services:
42 | mailhog:
43 | type: mailhog:v1.0.0
44 | portforward: true
45 | hogfrom:
46 | - appserver
47 | ```
48 |
49 | The new configuration for our `mailhog` service is under the `services` key in our `.lando.yml` file. The service name can be anything. We've named it `mailhog` after the service it provides, but you can name it anything you like. The `type` tells lando what `service` to use (what image to initially fetch and subsequently use). Then the `portforward` key will automatically set a port for the new service, and finally the `hogfrom` key is specific to the the `mailhog` service and tells mailhog where it should be grabbing the mail from for the Lando 101 app that is the appserver.
50 |
51 | After adding or changing a `service` in our app a rebuild is required.
52 |
53 | ```bash
54 | lando rebuild -y
55 | ```
56 |
57 | After rebuilding the Lando 101 app the new `mailhog` service will be available to our app! You can verify that by running: `docker ps` and you should see a line similar to this:
58 |
59 | ```bash
60 | 00daf795ccd0 mailhog/mailhog:v1.0.0 "/lando-entrypoint.s…" 25 seconds ago Up 24 seconds 8025/tcp, 127.0.0.1:32780->80/tcp, 127.0.0.1:32778->1025/tcp lando101_mailhog_1
61 | ```
62 |
63 | You can see that our `lando101_mailhog_1` container is up and running and ready for us to use! Some services, like the `mailhog` service, will need to have a URL exposed in order to make use of them. In the next section we'll demonstrate how to add a proxy URL for the `mailhog` service.
64 |
--------------------------------------------------------------------------------
/lando-101/lando-start.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Lando Start
3 | description: Start a Lando app and some vocabulary to help us talk about Lando.
4 |
5 | authors:
6 | - name: Team Lando
7 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
8 | link: https://twitter.com/devwithlando
9 | updated:
10 | timestamp: 1594391902000
11 |
12 | mailchimp:
13 | # action is required
14 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
15 | # everything else is optional
16 | title: Want similar content?
17 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
18 | button: Sign me up!
19 | ---
20 |
21 | # Lando Start
22 |
23 | This lesson is primarily about vocabulary to help us understand the Lando ecosystem. A `recipe` in Lando is a pre-configured start state for an application. Lando comes [with more than 12 recipes](https://docs.lando.dev/core/v3/recipes.html) out of the box. In the Lando 101 course we are using the [LAMP](https://docs.lando.dev/lamp) recipe. This tells Lando that we'll need an application container with Apache and PHP and a MySQL container.
24 |
25 | So, if we `lando start` our `Lando 101` app we'll see those corresponding containers. Here is some of the output from `lando start`:
26 |
27 | ```bash
28 | Scanning to determine which services are ready... Please standby...
29 |
30 | ___ __ __ __ __ ______
31 | / _ )___ ___ __ _ ___ / / ___ _/ /_____ _/ /__ _/ /_____ _/ / / /
32 | / _ / _ \/ _ \/ ' \(_- _ \/ _ `/ '_/ _ `/ / _ `/ '_/ _ `/_/_/_/
33 | /____/\___/\___/_/_/_/___/_//_/\_,_/_/\_\\_,_/_/\_,_/_/\_\\_,_(_|_|_)
34 |
35 |
36 | Your app has started up correctly.
37 | Here are some vitals:
38 |
39 | NAME lando-101
40 | LOCATION /home/gff/code/lando-ops/guides-example-code/introduction-to-lando/lando-init
41 | SERVICES appserver, database
42 | APPSERVER URLS https://localhost:32952
43 | http://localhost:32953
44 | http://lando-101.lndo.site/
45 | https://lando-101.lndo.site/
46 | ```
47 |
48 | And if you run the docker command: `docker ps` you can see the containers for the Lando 101 app:
49 |
50 | ```bash
51 | gff ~/code/lando-ops/guides-example-code/introduction-to-lando/lando-init
52 | () └─ ∴ docker ps
53 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
54 | c92d36534d66 devwithlando/php:7.3-apache-2 "/lando-entrypoint.s…" 25 seconds ago Up 23 seconds 127.0.0.1:32953->80/tcp, 127.0.0.1:32952->443/tcp lando101_appserver_1
55 | a5d7060a15be bitnami/mysql:5.7.29-debian-10-r51 "/lando-entrypoint.s…" 25 seconds ago Up 23 seconds 127.0.0.1:32951->3306/tcp lando101_database_1
56 | 7f64e8add1fd traefik:2.2.0 "/lando-entrypoint.s…" 30 hours ago Up 25 seconds 127.0.0.1:80->80/tcp, 127.0.0.1:443->443/tcp, 127.0.0.1:32950->8080/tcp landoproxyhyperion5000gandalfedition_proxy_1
57 |
58 | ```
59 |
60 | So you can see that Lando has started up `lando101_appserver_1`, `lando101_database_1`, and `landoproxyhyperion5000gandalfedition_proxy_1` containers. Behind the scenes Lando is managing the containers, persistent storage, and the networking for the containers to communication with each other. We don't need to worry about that Lando handles it for us. If later we want to take a deep dive you can see how Lando leverages docker-compose to get that all done for us, but for now just know Lando takes care of the right configurations for the recipe we choose.
61 |
--------------------------------------------------------------------------------
/lando-101/lando-tooling.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Lando Tooling
3 | description: An example of adding tooling to a Lando app.
4 |
5 | authors:
6 | - name: Team Lando
7 | pic: https://gravatar.com/avatar/c335f31e62b453f747f39a84240b3bbd
8 | link: https://twitter.com/devwithlando
9 | updated:
10 | timestamp: 1594391902000
11 |
12 | mailchimp:
13 | # action is required
14 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
15 | # everything else is optional
16 | title: Want similar content?
17 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
18 | button: Sign me up!
19 | ---
20 |
21 | # Lando Tooling
22 |
23 | Lando provides context specific tooling for the provided recipes, for example, the `lando-101` app is using the `lamp` recipe and out of the box provides us with tooling commands for `php` cli, `composer`, and a `mysql` shell among others. You can see the available commands for any given Lando app by typing `lando` at your command prompt.
24 |
25 | Sometimes we might need or want to add our own tooling to a Lando app to simplify workflows, use in CI, and reduce documentation. Let's add a `phpcs` tooling command to our Lando 101 app.
26 |
27 | First lets use the Lando provided `composer` tooling to add `phpcs` to our Lando 101 app:
28 |
29 | ```bash
30 | lando composer require squizlabs/php_codesniffer
31 | ```
32 |
33 | That will place the `phpcs` binary in `/app/vendor/bin/phpcs` and we'll use that path to expose the tooling to our Lando 101 app.
34 |
35 | Open up your `.lando.yml` config file in your favorite text editor:
36 |
37 | ```yaml
38 | name: lando-101
39 | recipe: lamp
40 | config:
41 | php: 7.4
42 | services:
43 | mailhog:
44 | type: mailhog:v1.0.0
45 | portforward: true
46 | hogfrom:
47 | - appserver
48 | proxy:
49 | mailhog:
50 | - mail.lando-101.lndo.site
51 | tooling:
52 | phpcs:
53 | service: appserver
54 | cmd: /app/vendor/bin/phpcs
55 | ```
56 |
57 | The new part of our config is the `tooling` key under which we have nested the command we want to expose, `phpcs` in this case. Told Lando which service to run the tooling command against with `service: appserver`. Provided the `cmd: /app/vendor/bin/phpcs` to tell Lando what command to run under the hood.
58 |
59 | Now all the developers on our team for the Lando 101 app can code sniff their code to provide uniform standards across the project. For example, if you want to check the syntax of the `index.php` file; you do so like this:
60 |
61 | ```bash
62 | lando phpcs index.php
63 | ```
64 |
65 | Adding the `phpcs` command is simple, but just one example of the types of tooling you can add to your apps. To take a deep dive and learn more about Lando tooling read the [tooling docs page](https://docs.lando.dev/core/v3/tooling.html).
66 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@lando/docs",
3 | "description": "Lando Docs Repo.",
4 | "version": "4.0.1",
5 | "author": "Mike Pirog @pirog",
6 | "license": "GPL-3.0",
7 | "repository": "lando/docs",
8 | "bugs": "https://github.com/lando/docs/issues/new/choose",
9 | "homepage": "https://github.com/lando/docs",
10 | "keywords": [
11 | "lando",
12 | "lando-plugin",
13 | "docs"
14 | ],
15 | "engines": {
16 | "node": ">=18.0.0"
17 | },
18 | "main": "index.js",
19 | "scripts": {
20 | "build": "LANDO_MVB_VERSION=$(git describe --tags --always --abbrev=1 --match=\"v[0-9].*\") vitepress build . && npm run rename-sitemap",
21 | "dev": "LANDO_MVB_VERSION=$(git describe --tags --always --abbrev=1 --match=\"v[0-9].*\") vitepress dev .",
22 | "lint": "eslint . --ext .js --ext .mjs ",
23 | "mvb": "npx mvb .",
24 | "preview": "vitepress preview .",
25 | "rename-sitemap": "node rename-sitemap.js"
26 | },
27 | "devDependencies": {
28 | "@babel/eslint-parser": "^7.16.0",
29 | "@lando/vitepress-theme-default-plus": "^1.1.0-beta.15",
30 | "babel-eslint": "^10.1.0",
31 | "eslint": "^7.32.0",
32 | "eslint-config-google": "^0.9.1",
33 | "eslint-plugin-vue": "^8.0.3",
34 | "js-yaml": "^4.1.0",
35 | "vitepress": "^1.3.4",
36 | "vue": "^3.4.21"
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/plugins.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Plugins
3 | description: Browse, filter, sort, search and vibe all the plugins in the Lando ecosystem
4 | layout: page
5 | sidebar: false
6 | aside: false
7 | ---
8 |
9 |
10 |
11 | Plugins
12 |
13 |
14 | It's dangerous to go alone, take some of these:
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
61 |
62 |
72 |
--------------------------------------------------------------------------------
/plugins/acquia-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Acquia Plugin
3 | description: This plugin provides a way to use Lando with Acquia Cloud.
4 | link: https://docs.lando.dev/plugins/acquia
5 | source: https://github.com/lando/acquia
6 | image: https://docs.lando.dev/acquia/images/acquiaicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 |
16 | tags:
17 | - recipe
18 | - hosting integration
19 | - official
20 | ---
21 |
22 | # Acquia
23 |
24 | stuff and things
25 |
--------------------------------------------------------------------------------
/plugins/apache-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Apache Plugin
3 | description: Allows you to use Apache as your web server.
4 | link: https://docs.lando.dev/plugins/apache
5 | source: https://github.com/lando/apache
6 | image: https://docs.lando.dev/apache/images/apacheicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 |
16 | tags:
17 | - service
18 | - web server
19 | - official
20 | ---
21 |
22 |
--------------------------------------------------------------------------------
/plugins/backdrop-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Backdrop Plugin
3 | description: This recipe spins up a fully-working stack for running Backdrop CMS applications.
4 | link: https://docs.lando.dev/plugins/backdrop
5 | source: https://github.com/lando/backdrop
6 | image: https://docs.lando.dev/backdrop/images/backdropicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - recipe
17 | - official
18 | ---
19 |
20 |
--------------------------------------------------------------------------------
/plugins/compose-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Compose Plugin
3 | description: This plugin provides a way to use Lando with compose Cloud.
4 | link: https://docs.lando.dev/plugins/compose
5 | source: https://github.com/lando/compose
6 | image: https://docs.lando.dev/compose/images/composeicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | ---
16 |
17 |
--------------------------------------------------------------------------------
/plugins/dotnet-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Dotnet Plugin
3 | description: This recipe spins up a fully-working stack for running Dotnet applications.
4 | link: https://docs.lando.dev/plugins/dotnet
5 | source: https://github.com/lando/dotnet
6 | image: https://docs.lando.dev/dotnet/images/dotneticon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - runtime
18 | - official
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/drupal-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Drupal Plugin
3 | description: This recipe spins up a fully-working stack for running Drupal applications.
4 | link: https://docs.lando.dev/plugins/drupal
5 | source: https://github.com/lando/drupal
6 | image: https://docs.lando.dev/drupal/images/drupalicon.svg
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - recipe
17 | - official
18 | ---
19 |
20 |
--------------------------------------------------------------------------------
/plugins/elasticsearch-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Elasticsearch Plugin
3 | description: This plugin provides an Elasticsearch datastore for your Lando app.
4 | link: https://docs.lando.dev/plugins/elasticsearch
5 | source: https://github.com/lando/elasticsearch
6 | image: https://docs.lando.dev/elasticsearch/images/elasticsearchicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - official
18 | - index
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/go-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Go Plugin
3 | description: This service plugin provides the Go runtime for your Lando app.
4 | link: https://docs.lando.dev/plugins/go
5 | source: https://github.com/lando/go
6 | image: https://docs.lando.dev/go/images/golangicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - official
18 | - runtime
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/joomla-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Joomla Plugin
3 | description: This recipe spins up a fully-working stack for running Joomla applications.
4 | link: https://docs.lando.dev/plugins/joomla
5 | source: https://github.com/lando/joomla
6 | image: https://docs.lando.dev/joomla/images/joomlaicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - recipe
17 | - official
18 | ---
19 |
20 |
--------------------------------------------------------------------------------
/plugins/lagoon-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Lagoon Plugin
3 | description: This plugin provides a way to use Lando with Lagoon, an opensource hosting solution.
4 | link: https://docs.lando.dev/plugins/lagoon
5 | source: https://github.com/lando/lagoon
6 | image: https://docs.lando.dev/lagoon/images/lagoon-icon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - recipe
17 | - hosting integration
18 | - official
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/lamp-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: LAMP Plugin
3 | description: This recipe spins up a fully-working LAMP-stack.
4 | link: https://docs.lando.dev/plugins/lamp
5 | source: https://github.com/lando/lamp
6 | image: https://docs.lando.dev/lamp/images/lampicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - recipe
17 | - official
18 | ---
19 |
20 |
--------------------------------------------------------------------------------
/plugins/laravel-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Laravel Plugin
3 | description: This recipe spins up a fully-working stack for running Laravel applications.
4 | link: https://docs.lando.dev/plugins/laravel
5 | source: https://github.com/lando/laravel
6 | image: https://docs.lando.dev/laravel/images/laravelicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - recipe
17 | - official
18 | ---
19 |
20 |
--------------------------------------------------------------------------------
/plugins/lemp-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: LEMP Plugin
3 | description: This recipe spins up a fully-working LEMP stack.
4 | link: https://docs.lando.dev/plugins/lemp
5 | source: https://github.com/lando/lemp
6 | image: https://docs.lando.dev/lemp/images/lampicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - recipe
17 | - official
18 | ---
19 |
20 |
--------------------------------------------------------------------------------
/plugins/mailhog-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Mailhog Plugin
3 | description: This plugin allows you to use Mailhog with your Lando app.
4 | link: https://docs.lando.dev/plugins/mailhog
5 | source: https://github.com/lando/mailhog
6 | image: https://docs.lando.dev/mailhog/images/mailhogicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - official
18 | - dev tool
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/mariadb-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: MariaDB Plugin
3 | description: This plugin provides a MariaDB database for your Lando app.
4 | link: https://docs.lando.dev/plugins/mariadb
5 | source: https://github.com/lando/mariadb
6 | image: https://docs.lando.dev/mariadb/images/mariadbicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - official
18 | - database
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/mean-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: MEAN Plugin
3 | description: This recipe spins up a fully-working MEAN stack.
4 | link: https://docs.lando.dev/plugins/mean
5 | source: https://github.com/lando/mean
6 | image: https://docs.lando.dev/mean/images/meanicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - recipe
17 | - official
18 | ---
19 |
20 |
--------------------------------------------------------------------------------
/plugins/memcached-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Memcached Plugin
3 | description: This plugin provides the memcached cache service for your Lando app.
4 | link: https://docs.lando.dev/plugins/memcached
5 | source: https://github.com/lando/memcached
6 | image: https://docs.lando.dev/memcached/images/memcachedicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - official
18 | - cache
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/mongo-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: MongoDB Plugin
3 | description: This plugin provides a MongoDB database for your Lando app.
4 | link: https://docs.lando.dev/plugins/mongo
5 | source: https://github.com/lando/mongo
6 | image: https://docs.lando.dev/mongo/images/mongoicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - official
18 | - database
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/mssql-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: MSSQL Plugin
3 | description: This plugin provides a MSSQL database for your Lando app.
4 | link: https://docs.lando.dev/plugins/mssql
5 | source: https://github.com/lando/mssql
6 | image: https://docs.lando.dev/mssql/images/mssqlicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - official
18 | - database
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/mysql-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: MySQL Plugin
3 | description: This plugin provides a MySQL database for your Lando app.
4 | link: https://docs.lando.dev/plugins/mysql
5 | source: https://github.com/lando/mysql
6 | image: https://docs.lando.dev/mysql/images/mysqlicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - official
18 | - database
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/nginx-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: nginx Plugin
3 | description: Allows you to use Nginx as the web server in your Lando app.
4 | link: https://docs.lando.dev/plugins/nginx
5 | source: https://github.com/lando/nginx
6 | image: https://docs.lando.dev/nginx/images/nginxicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - web server
18 | - official
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/node-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Node Plugin
3 | description: This service plugin provides the NodeJS runtime for your Lando app.
4 | link: https://docs.lando.dev/plugins/node
5 | source: https://github.com/lando/node
6 | image: https://docs.lando.dev/node/images/nodejsicon.svg
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - official
18 | - runtime
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/pantheon-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Pantheon Plugin
3 | description: This plugin provides a way to use Lando with the Pantheon hosting service.
4 | link: https://docs.lando.dev/plugins/pantheon
5 | source: https://github.com/lando/pantheon
6 | image: https://docs.lando.dev/pantheon/images/pantheonicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - recipe
17 | - hosting integration
18 | - official
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/php-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: PHP Plugin
3 | description: This service plugin provides the PHP runtime for your Lando app.
4 | link: https://docs.lando.dev/plugins/php
5 | source: https://github.com/lando/php
6 | image: https://docs.lando.dev/php/images/phpicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - official
18 | - runtime
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/phpmyadmin-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: phpMyAdmin Plugin
3 | description: This plugin allows you to use PHPMyAdmin with your Lando app.
4 | link: https://docs.lando.dev/plugins/phpmyadmin
5 | source: https://github.com/lando/phpmyadmin
6 | image: https://docs.lando.dev/phpmyadmin/images/phpmyadminicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - official
18 | - dev tool
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/platformsh-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Platform.sh Plugin
3 | description: This plugin provides a way to use Lando with the Platform.sh hosting service.
4 | link: https://docs.lando.dev/plugins/platformsh
5 | source: https://github.com/lando/platformsh
6 | image: https://docs.lando.dev/platformsh/images/pshicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - recipe
17 | - hosting integration
18 | - unsupported
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/postgres-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: PostgreSQL Plugin
3 | description: This plugin provides a Postgres database for your Lando app.
4 | link: https://docs.lando.dev/plugins/postgres
5 | linkText: db me
6 | source: https://github.com/lando/postgres
7 | image: https://docs.lando.dev/postgres/images/postgresicon.png
8 | maintainers:
9 | - name: Team Lando
10 | avatar: /images/icon.svg
11 | links:
12 | - icon: github
13 | link: https://github.com/lando
14 | - icon: twitter
15 | link: https://twitter.com/devwithlando
16 | tags:
17 | - service
18 | - official
19 | - database
20 | ---
21 |
22 |
--------------------------------------------------------------------------------
/plugins/python-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Python Plugin
3 | description: This service plugin provides the Python runtime for your Lando app.
4 | link: https://docs.lando.dev/plugins/python
5 | source: https://github.com/lando/python
6 | image: https://docs.lando.dev/python/images/pythonicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - official
18 | - runtime
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/redis-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: redis Plugin
3 | description: This plugin provides the Redis cache service for your Lando app.
4 | link: https://docs.lando.dev/plugins/redis
5 | source: https://github.com/lando/redis
6 | image: https://docs.lando.dev/redis/images/redisicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - official
18 | - cache
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/ruby-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Ruby Plugin
3 | description: This service plugin provides the Ruby runtime for your Lando app.
4 | link: https://docs.lando.dev/plugins/ruby
5 | source: https://github.com/lando/ruby
6 | image: https://docs.lando.dev/ruby/images/rubyicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - official
18 | - runtime
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/solr-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Solr Plugin
3 | description: This plugin provides an Apache Solr datastore for your Lando app.
4 | link: https://docs.lando.dev/plugins/solr
5 | source: https://github.com/lando/solr
6 | image: https://docs.lando.dev/solr/images/solricon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - official
18 | - index
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/symfony-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Symfony Plugin
3 | description: This recipe spins up a fully-working stack for running Symfony applications.
4 | link: https://docs.lando.dev/plugins/symfony
5 | source: https://github.com/lando/symfony
6 | image: https://docs.lando.dev/symfony/images/symfonyicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - recipe
17 | - official
18 | ---
19 |
20 |
--------------------------------------------------------------------------------
/plugins/tomcat-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Tomcat Plugin
3 | description: Allows you to use Tomcat as a web server in your Lando app.
4 | link: https://docs.lando.dev/plugins/tomcat
5 | source: https://github.com/lando/tomcat
6 | image: https://docs.lando.dev/tomcat/images/tomcaticon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - web server
18 | - official
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/varnish-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Varnish Plugin
3 | description: This plugin provides the Varnish cache service for your Lando app.
4 | link: https://docs.lando.dev/plugins/varnish
5 | source: https://github.com/lando/varnish
6 | image: https://docs.lando.dev/varnish/images/varnishicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - service
17 | - official
18 | - cache
19 | ---
20 |
21 |
--------------------------------------------------------------------------------
/plugins/wordpress-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: WordPress Plugin
3 | description: This plugin provides a way to use Lando with wordpress Cloud.
4 | link: https://docs.lando.dev/plugins/wordpress
5 | source: https://github.com/lando/wordpress
6 | image: https://docs.lando.dev/wordpress/images/wordpressicon.png
7 | maintainers:
8 | - name: Team Lando
9 | avatar: /images/icon.svg
10 | links:
11 | - icon: github
12 | link: https://github.com/lando
13 | - icon: twitter
14 | link: https://twitter.com/devwithlando
15 | tags:
16 | - recipe
17 | - official
18 | ---
19 |
20 |
--------------------------------------------------------------------------------
/public/contact.html:
--------------------------------------------------------------------------------
1 |
2 |
16 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/favicon.ico
--------------------------------------------------------------------------------
/public/favicon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/add-remote-interpreter-docker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/add-remote-interpreter-docker.png
--------------------------------------------------------------------------------
/public/images/d7-db-creds.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/d7-db-creds.png
--------------------------------------------------------------------------------
/public/images/drupal7-extant/landoAppName.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/drupal7-extant/landoAppName.jpg
--------------------------------------------------------------------------------
/public/images/drupal7-extant/landoCodeBase.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/drupal7-extant/landoCodeBase.jpg
--------------------------------------------------------------------------------
/public/images/drupal7-extant/landoInfo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/drupal7-extant/landoInfo.jpg
--------------------------------------------------------------------------------
/public/images/drupal7-extant/landoInit.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/drupal7-extant/landoInit.jpg
--------------------------------------------------------------------------------
/public/images/drupal7-extant/landoStart.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/drupal7-extant/landoStart.jpg
--------------------------------------------------------------------------------
/public/images/drupal7-extant/landoWebroot.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/drupal7-extant/landoWebroot.jpg
--------------------------------------------------------------------------------
/public/images/drupalicon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/drush-xdebug-phpstorm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/drush-xdebug-phpstorm.png
--------------------------------------------------------------------------------
/public/images/edgerelease.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/edgerelease.png
--------------------------------------------------------------------------------
/public/images/github-personal-access.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/github-personal-access.png
--------------------------------------------------------------------------------
/public/images/hero-pink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/hero-pink.png
--------------------------------------------------------------------------------
/public/images/hero-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/hero-white.png
--------------------------------------------------------------------------------
/public/images/hero.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/hero.png
--------------------------------------------------------------------------------
/public/images/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/icon.png
--------------------------------------------------------------------------------
/public/images/icon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/lamp-con.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/lamp-con.png
--------------------------------------------------------------------------------
/public/images/lamp-start.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/lamp-start.png
--------------------------------------------------------------------------------
/public/images/lando-101/lando-101-index.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/lando-101/lando-101-index.jpg
--------------------------------------------------------------------------------
/public/images/lando-101/logo-pink-medium.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/lando-101/logo-pink-medium.png
--------------------------------------------------------------------------------
/public/images/lando-101/mh.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/lando-101/mh.jpg
--------------------------------------------------------------------------------
/public/images/lando-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/lando-screenshot.png
--------------------------------------------------------------------------------
/public/images/logo-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/logo-1.png
--------------------------------------------------------------------------------
/public/images/logo-pink-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/logo-pink-icon.png
--------------------------------------------------------------------------------
/public/images/logo-pink-mini.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/logo-pink-mini.png
--------------------------------------------------------------------------------
/public/images/logo-pink-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/logo-pink-small.png
--------------------------------------------------------------------------------
/public/images/logo-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/logo-small.png
--------------------------------------------------------------------------------
/public/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/logo.png
--------------------------------------------------------------------------------
/public/images/logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/seal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/seal.png
--------------------------------------------------------------------------------
/public/images/stablerelease.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/stablerelease.png
--------------------------------------------------------------------------------
/public/images/tandem-pink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/tandem-pink.png
--------------------------------------------------------------------------------
/public/images/tandem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/tandem.png
--------------------------------------------------------------------------------
/public/images/test-frameworks-remote-interpreter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lando/legacy-docs/788e2c74dffd5a0e6dc2fe70ca3b9699d568ee97/public/images/test-frameworks-remote-interpreter.png
--------------------------------------------------------------------------------
/public/sitemap.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | https://docs.lando.dev/docs-sitemap.xml
5 |
6 |
7 | https://docs.lando.dev/cli/sitemap.xml
8 |
9 |
10 | https://docs.lando.dev/core/sitemap.xml
11 |
12 |
13 | https://docs.lando.dev/install/sitemap.xml
14 |
15 |
16 | https://docs.lando.dev/plugins/acquia/sitemap.xml
17 |
18 |
19 | https://docs.lando.dev/plugins/apache/sitemap.xml
20 |
21 |
22 | https://docs.lando.dev/plugins/backdrop/sitemap.xml
23 |
24 |
25 | https://docs.lando.dev/plugins/compose/sitemap.xml
26 |
27 |
28 | https://docs.lando.dev/plugins/dotnet/sitemap.xml
29 |
30 |
31 | https://docs.lando.dev/plugins/drupal/sitemap.xml
32 |
33 |
34 | https://docs.lando.dev/plugins/elasticsearch/sitemap.xml
35 |
36 |
37 | https://docs.lando.dev/plugins/go/sitemap.xml
38 |
39 |
40 | https://docs.lando.dev/plugins/joomla/sitemap.xml
41 |
42 |
43 | https://docs.lando.dev/plugins/lagoon/sitemap.xml
44 |
45 |
46 | https://docs.lando.dev/plugins/lamp/sitemap.xml
47 |
48 |
49 | https://docs.lando.dev/plugins/laravel/sitemap.xml
50 |
51 |
52 | https://docs.lando.dev/plugins/lemp/sitemap.xml
53 |
54 |
55 | https://docs.lando.dev/plugins/mailhog/sitemap.xml
56 |
57 |
58 | https://docs.lando.dev/plugins/mariadb/sitemap.xml
59 |
60 |
61 | https://docs.lando.dev/plugins/mean/sitemap.xml
62 |
63 |
64 | https://docs.lando.dev/plugins/memcached/sitemap.xml
65 |
66 |
67 | https://docs.lando.dev/plugins/mongo/sitemap.xml
68 |
69 |
70 | https://docs.lando.dev/plugins/mssql/sitemap.xml
71 |
72 |
73 | https://docs.lando.dev/plugins/mysql/sitemap.xml
74 |
75 |
76 | https://docs.lando.dev/plugins/nginx/sitemap.xml
77 |
78 |
79 | https://docs.lando.dev/plugins/node/sitemap.xml
80 |
81 |
82 | https://docs.lando.dev/plugins/pantheon/sitemap.xml
83 |
84 |
85 | https://docs.lando.dev/plugins/php/sitemap.xml
86 |
87 |
88 | https://docs.lando.dev/plugins/phpmyadmin/sitemap.xml
89 |
90 |
91 | https://docs.lando.dev/plugins/platformsh/sitemap.xml
92 |
93 |
94 | https://docs.lando.dev/plugins/postgres/sitemap.xml
95 |
96 |
97 | https://docs.lando.dev/plugins/python/sitemap.xml
98 |
99 |
100 | https://docs.lando.dev/plugins/redis/sitemap.xml
101 |
102 |
103 | https://docs.lando.dev/plugins/ruby/sitemap.xml
104 |
105 |
106 | https://docs.lando.dev/plugins/solr/sitemap.xml
107 |
108 |
109 | https://docs.lando.dev/plugins/symfony/sitemap.xml
110 |
111 |
112 | https://docs.lando.dev/plugins/tomcat/sitemap.xml
113 |
114 |
115 | https://docs.lando.dev/plugins/varnish/sitemap.xml
116 |
117 |
118 | https://docs.lando.dev/plugins/wordpress/sitemap.xml
119 |
120 |
121 |
--------------------------------------------------------------------------------
/rename-sitemap.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs');
2 | const path = require('path');
3 |
4 | const oldPath = path.join(__dirname, '.vitepress', 'dist', 'sitemap.xml');
5 | const newPath = path.join(__dirname, '.vitepress', 'dist', 'docs-sitemap.xml');
6 |
7 | fs.rename(oldPath, newPath, err => {
8 | if (err) {
9 | console.error('Error renaming sitemap.xml:', err);
10 | process.exit(1);
11 | }
12 | console.log('sitemap.xml has been renamed to docs-sitemap.xml');
13 | });
14 |
15 | // Copy public/sitemap.xml to .vitepress/dist/sitemap.xml
16 | const oldSitemapPath = path.join(__dirname, 'public', 'sitemap.xml');
17 | const newSitemapPath = path.join(__dirname, '.vitepress', 'dist', 'sitemap.xml');
18 |
19 | fs.copyFile(oldSitemapPath, newSitemapPath, err => {
20 | if (err) {
21 | console.error('Error copying sitemap.xml:', err);
22 | process.exit(1);
23 | }
24 | console.log('sitemap.xml has been copied to .vitepress/dist/sitemap.xml');
25 | });
26 |
--------------------------------------------------------------------------------
/security.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Learn how to submit a security issue to Lando.
3 | ---
4 |
5 | # Security
6 |
7 | If you have discovered a security issue with Lando, please contact the Lando Security Team directly at
8 | [security@lando.dev](mailto:security@lando.dev). We manage security issues separately in a private repository until the issue has been resolved.
9 | Even if you're not sure if it's a security problem, please contact the security team before filing an issue, blogging, or
10 | tweeting about it.
11 |
12 | ## Security Team
13 |
14 | * [Alec Reynolds](https://github.com/reynoldsalec)
15 | * [Mike Pirog](https://github.com/pirog)
16 |
17 | ## Security Evaluations
18 |
19 | Is your company looking at adopting Lando and performing a security evaluation? Contact [security@lando.dev](mailto:security@lando.dev) and we can help you get started.
20 |
--------------------------------------------------------------------------------
/support.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Contact Us
3 | description: Get help and support for the Lando Dotnet Plugin
4 | ---
5 |
6 | # Contact Us
7 |
8 | If you need priority and dedicated support, expediated bug fixes or more features then please contact us below.
9 |
10 |
25 |
--------------------------------------------------------------------------------
/team.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Learn about the team that made VitePress Default Theme Plus.
3 | layout: page
4 | title: Team
5 | ---
6 |
7 |
8 |
9 |
10 | Team
11 |
12 |
13 | The people who contributed to the main Lando docs.
14 |
15 |
16 |
17 |
18 |
19 |
26 |
--------------------------------------------------------------------------------
/terms.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Lando Documentation's Terms and Conditions
3 | editLink: false
4 | jobs: false
5 | sidebar: false
6 | sponsors: false
7 | carbonAds: false
8 | next: false
9 | prev:
10 | text: 'Back'
11 | link: '/'
12 | ---
13 |
14 | # Terms and Conditions
15 |
16 | **Last updated:** _November 26, 2019_
17 |
18 | These Terms and Conditions ("Terms", "Terms and Conditions") govern your relationship with website (the "Service") operated by Kalabox Inc DBA Tandem ("us", "we", or "our").
19 |
20 | Please read these Terms and Conditions carefully before using the Service.
21 |
22 | Your access to and use of the Service is conditioned on your acceptance of and compliance with these Terms. These Terms apply to all visitors, users and others who access or use the Service.
23 |
24 | By accessing or using the Service you agree to be bound by these Terms. If you disagree with any part of the terms then you may not access the Service.
25 |
26 | ## Other Terms
27 |
28 | If you are looking for the Terms and Conditions for Lando the software you should [look here](https://github.com/lando/lando/blob/master/TERMS.md).
29 |
30 | ## Links To Other Web Sites
31 |
32 | Our Service may contain links to third-party web sites or services that are not owned or controlled by Kalabox Inc DBA Tandem.
33 |
34 | Kalabox Inc DBA Tandem has no control over, and assumes no responsibility for, the content, privacy policies, or practices of any third party web sites or services. You further acknowledge and agree that Kalabox Inc DBA Tandem shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods or services available on or through any such web sites or services.
35 |
36 | We strongly advise you to read the terms and conditions and privacy policies of any third-party web sites or services that you visit.
37 |
38 | ## Termination
39 |
40 | We may terminate or suspend your access immediately, without prior notice or liability, for any reason whatsoever, including without limitation if you breach the Terms.
41 |
42 | Upon termination, your right to use the Service will immediately cease.
43 |
44 | ## Governing Law
45 |
46 | These Terms shall be governed and construed in accordance with the laws of United States, without regard to its conflict of law provisions.
47 |
48 | Our failure to enforce any right or provision of these Terms will not be considered a waiver of those rights. If any provision of these Terms is held to be invalid or unenforceable by a court, the remaining provisions of these Terms will remain in effect. These Terms constitute the entire agreement between us regarding our Service, and supersede and replace any prior agreements we might have between us regarding the Service.
49 |
50 | ## Changes
51 |
52 | We reserve the right, at our sole discretion, to modify or replace these Terms at any time. If a revision is material we will try to provide at least 30 days notice prior to any new terms taking effect. What constitutes a material change will be determined at our sole discretion.
53 |
54 | By continuing to access or use our Service after those revisions become effective, you agree to be bound by the revised terms. If you do not agree to the new terms, please stop using the Service.
55 |
56 | ## Contact Us
57 |
58 | If you have any questions about these Terms, please contact us.
59 |
60 |
--------------------------------------------------------------------------------
/troubleshooting.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Home helpful troubleshooting materials for Lando
3 | layout: page
4 | title: Troubleshooting
5 | sidebar: false
6 | ---
7 |
8 |
9 |
10 | Troubleshooting
11 |
12 |
13 | Home helpful troubleshooting materials for Lando
14 |
15 |
16 |
17 |
18 |
19 |
20 |
26 |
--------------------------------------------------------------------------------