После релиза Laravel 12-й версии разработчики добавили много новых штук, которые хотелось бы попробовать, но есть нюанс… Если инициализировать проект стандартным способом через Laravel Sail, мы лишимся возможности выбрать стартер кит и настроить другие нововведения. Поэтому из скрипта, получаемого в результате запроса на https://laravel.build/example?with=pgsql,redis,mailpit,meilisearch выцепим команду инициализации через Docker-образ и уберём флаг --no-interaction в команде laravel new example. Пример вызова:

docker run --rm \
    --pull=always \
    -v "$(pwd)":/opt \
    -w /opt \
    laravelsail/php84-composer:latest \
    bash -c "laravel new example && cd example && php ./artisan sail:install --with=pgsql,redis,mailpit,meilisearch "

Важно!

Стоит учесть несколько нюансов:

  1. Вместо example в вызове docker run как выше должно быть название вашего проекта;
  2. Набор сервисов в --with также индивидуален для тебя, выбери, что нужно;
  3. Пример выше запускается в Linux, для других операционок, возможно, есть смысл воспользоваться Laravel Herd;
  4. Нужно помнить про возможную нехватку прав на созданный проект. Для решения проблемы переходим в директорию с нашим проектом и вызываем chown -R $USER: ..

После этого можно спокойно запускать проект и разрабатывать 😎