Sprout is a flexible, seamless, and easy to use multitenancy solution for Laravel.
Sprout v2 is currently in development and represents a significant evolution of the package. Where v1 split functionality across separate addon packages, v2 brings everything together into a single, cohesive package.
Installing Sprout v2 gives you access to all multitenancy features out of the box:
- Core — Tenant identification, resolution, and context management
- Bud — Tenant-specific configuration with dynamic service and connection management
- Seedling — Multi-tenant database support with migrations, connections, and tenant provisioning
- Canopy — Domain-based tenant identification with supporting functionality for managing tenant domains
You can read more about the architecture and design decisions in the technical specification (repository).
Version 1 remains available and supported for existing projects. The v1 architecture uses a modular approach with separate packages:
- Sprout — The core multitenancy package
Documentation for Sprout is available at sprout.ollieread.com.
- Documentation
- Technical Specification — Architecture documentation and design decisions (repo)
- GitHub Discussions
- Twitter/X
- Bluesky
