opensoft/storage-bundle
OpenSoft Storage Bundle is a PHP/Symfony bundle for integrating storage backends into applications. It provides bundle configuration and services to manage file storage workflows, helping developers wire adapters and handle stored files with reusable, framework-friendly components.
Framework caveat that changes the decision: despite being surfaced in a Laravel/PHP context, this is a Symfony bundle (Doctrine-mapped entity, bundle config, no service provider, no Artisan surface). On a Laravel stack, integration cost is approximately rewrite cost.
Consider it (as dependency) when:
Consider it (as reference) when:
require it. This is the realistic use case.Look elsewhere (the default) when:
spatie/laravel-medialibrary, or a managed DAM — these are commoditized and not worth building.Executives — the one-line version: "This is not a purchase decision. It's a design pattern we should copy, not a dependency we should take."
The underlying problem — tracking files consistently across local and cloud storage — is high-value and recurring, which is why it scores well on opportunity. But the specific library is a 2019 Symfony artifact with four stars and no downstream users, and it does not run on our Laravel stack. Adopting it means paying the porting cost and inheriting unmaintained code with no security-patch path. Net: build the pattern, skip the package.
Engineering — the plan: Treat the repository as a specification. Take three things from it: the file-registry entity (disk, path, mime, size, hash, owner, timestamps), the storage-adapter indirection, and the named-storage configuration. Implement them against Flysystem 3 and Laravel's Storage facade with an Eloquent model.
Deliverables: a files table with a disk discriminator; a StorageManager contract with named disks; a migration command that walks the registry, rewrites objects to the target disk, and verifies checksums; and a scheduled orphan sweeper. Roughly one to two sprints, fully testable, and upgradeable on our own cadence.
Recommendation: No-go on the dependency; go on the pattern. Add "storage abstraction + file registry" to next quarter's backlog as a platform enabler. Revisit commercial or well-maintained open-source media libraries only when we need derivatives, CDN, or scanning — at that point, buy, because that layer is genuinely commoditized and differentiation lives in the registry, not the adapter.
How can I help you explore Laravel packages today?