Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a plugin system to Laravel Sail, allowing third-party packages to customize the Docker environment without expanding the core package.
Currently, Sail requires direct updates to its codebase to accommodate new services or runtime variations, which increases maintenance overhead as community demands grow.
With this plugin system, external packages can define new services, override built-in ones like
mysql
orredis
, or introduce additional logic. This offloads the upkeep of non-essential or specialized services to third-party packages, keeping Sail’s core streamlined and reducing the frequency of updates needed in the base package. For instance, niche use cases—such as configuring an nginx web server with HTTPS or integrating authorization servers, such as Keycloak can be managed externally, avoiding unnecessary growth in Sail’s scope.End developers may include these plugins on-demand within their applications, opting in only to the customizations they need. The core package stays focused on providing a reliable, minimal Docker setup.
See the linked documentation PR for implementation details, examples, and guidance.