Romega Digital has released an open-source package for adding multitenancy to applications built on the Laravel PHP framework.
The package creates a tenant model, with each tenant getting its own subdomain. This allows developers to serve multiple customers with a single code base while keeping data separate for each customer. It does this by identifying incoming traffic by subdomain and finds a corresponding tenant in the tenant table.
Why is multitenancy important? If the software is running as a single tenant, each customer has their own copy of the code and processes. So if you have 10 customers, you are running 10 copies of everything. Multitenancy simplifies this by requiring just one instance to manage.
There is also an administration subdomain that is locked down to only be available to users with a super admin role. This allows the software application owner to manage each individual tenant, without needing a user account for each.
We’re big fans of Nova, an administration dashboard built by the creators of Laravel. So in addition to the main multitenancy package, we are releasing a tool for managing tenants in Nova.
The tool was authored primarily by our CEO, Braden Keith. He identified a need for it while building multitenant applications for our customers.
“Multitenancy is a problem we’ve had to solve for a number of our client projects. Within the Laravel community, many have been asking how to tackle projects with this complication, so we decided to package up our solution and make it available for open source. We hope our contribution makes multitenancy in Laravel and Laravel Nova much easier to accomplish.”
– Braden Keith
Owner and CEO