Skip to main content
Lunar’s recommended admin panel for v2 is the Inertia and Vue panel, lunarphp/panel. Alongside it, Lunar ships two first-party Filament packages for projects that are invested in the Filament ecosystem — an existing store with Filament customizations from v1, or an application whose back office is already a Filament panel: Both coexist with lunarphp/panel in the same application; nothing about the Filament packages changes when the Inertia panel is installed, and vice versa.
The package and class names are easy to confuse. lunarphp/admin’s service provider is Lunar\Admin\LunarPanelProvider and its facade is LunarPanel — despite the “panel” naming, these belong to the Filament admin. The Inertia panel (lunarphp/panel) uses Lunar\Panel\PanelServiceProvider. The two are otherwise unrelated packages.

How the packages fit together

lunarphp/admin is a thin shell over the bridge: it registers a preconfigured Filament panel (path, guard, branding, navigation) and pulls in every bridge resource, schema, and widget via Lunar\Filament\LunarPlugin. All of the form and table definitions, relation managers, actions, and global-search descriptors live in lunarphp/filament. That split means there are two ways to run a Filament-based Lunar admin:
  • Turnkey — install lunarphp/admin and get a complete panel at /admin with one LunarPanel::register() call.
  • Bring your own panel — install only lunarphp/filament and compose Lunar’s building blocks into an existing Filament v5 panel, picking exactly the pieces the project needs.

Which one to use

For a new v2 project, start with the Inertia panel — see its installation guide. Reach for lunarphp/admin when upgrading a v1 store that has Filament-based customizations, and for lunarphp/filament when building a bespoke Filament panel that needs Lunar’s components.

Next steps

Installation

Install the turnkey panel, or plug the bridge into an existing Filament panel.

Extending

Extension hooks, custom resources, publishable schemas, and the bridge component library.