This project is based on a fresh install of Laravel 9. Each solution included below is preconfigured to work with Laravel!
For a ready-to-go dev environment, includes:
- Lando: including Redis (for session & cache) and MariaDB
- Livewire
- Laravel Dusk:
- Write your Dusk tests using Pest
- Completely containerized within Lando
- Pest
- Ships with Dusk compatibility
- Ships with Livewire example tests
- Jetstream
- Mailhog: Laravel-connected out-of-the-box
- Vite: preconfigured to work with hot reloading on Lando!
What is Lando?
Lando is a local development environment tool that provides a simple, powerful, and flexible way to develop websites. It comes with a number of services, such as mariadb for your database needs, redis for cache and sessions, and mailhog for testing emails.
It's suggested that you read this entire document, but head to Getting Started if you're ready for that.
This project comes with Livewire, Pest, Jetstream, Mailhog, Vite, Lando, and Laravel Dusk preconfigured and ready to use with Pest & Lando.
Note: Before using Dusk, make sure that your
APP_URL
in the.env
file is set to your Lando app URL.
An example Livewire test is provided. You can run it with lando pest --filter
livewire.
You can launch Vite with hot reloading by using lando npm run dev or lando dev.
You can access the composer
, pest
, artisan
, php
, npm
and dusk
commands by running lando {command}
. You can add more command shortcuts by adding a tooling:
section to the .lando.local.yml
. See .lando.dist.yml
file for the defaults.
For more information on using Laravel, Livewire, Pest, Jetstream, Mailhog, Vite, Dusk, and Lando, please refer to their respective documentation:
- Laravel Documentation
- Livewire Documentation
- Pest Documentation
- Jetstream Documentation
- Mailhog Documentation
- Vite Documentation
- Laravel Dusk
- Lando Documentation | Landofile | Lando Laravel Recipe
- Copy the
.lando.local.yml.example
file to.lando.local.yml
.- Set the
name
property to something unique - Update the
appserver_nginx
proxy
to a URL that makes sense for your project.
- Set the
- Copy
.env.example
to.env
- Ensure
APP_URL
is set to the URL you assigned in.lando.local.yml
if you want to use Laravel Dusk
- Ensure
- Run
lando start
to start your local development environment.
Ready to run Vite with hot reloading?
- Make sure that Lando is running
- Run
lando npm run dev
(shortcutlando dev
)