Laravel 13 · Filament 5 · stancl/tenancy v4
One login. A workspace per tenant. Every tenant on its own database.
A stock Filament panel with Packstub Tenancy plugged in. Sign in once, switch between two provisioned tenants, and create a third through the onboarding wizard — it gets its own database in a few seconds.
Central
Sign in & switch
Login lives on the central domain only. The sidebar switcher moves you between workspaces; /admin/new opens the wizard.
Tenant · DB 1
Acme Inc.
Its own subdomain, its own database. The Projects resource shows only Acme's rows — no tenant_id anywhere.
Tenant · DB 2
Globex Corp.
Same code, same panel, a different database. Compare the Projects lists side by side.
globex.tenancy-demo.packstub.dev/adminOperator
Back-office panel
A second panel without the plugin, pinned to the central host: all tenants, their status and domains, retry provisioning, delete a tenant.
tenancy-demo.packstub.dev/centralGuided tour
Try the whole flow
Three minutes, nothing to install.
acme.tenancy-demo.packstub.dev.Integration
All the tenancy wiring, in one line
No stancl middleware in the panel, no tenant scopes in the models.
// The whole integration: return $panel ->id('admin') ->path('admin') ->login() ->plugin(TenancyPlugin::make());
The rest of the repo is laravel new + filament:install --panels. Read all of it before you buy: github.com/packstub/filament-tenancy-demo.