nowo-tech/site-backup-bundle
nowo-tech/site-backup-bundle is a Symfony bundle for creating, scheduling, and managing backups of your site, including files and databases. It offers configurable backup profiles and storage targets to simplify reliable backup and restore workflows.
Consider it when:
^7.0 || ^8.0 constraint. This is a Symfony bundle — it does not transfer to Laravel, where DI, service providers, and Blade differ enough that evaluation effort is better spent on a native option.Look elsewhere when:
pgBackRest, Velero, object-storage lifecycle, retention policy, audit trail. Keep restore out of the application path entirely.Executives. We have a low-cost candidate to close the "backup and restore" gap without building it. It's a small MIT-licensed Symfony bundle that performs full-site backups with checksum verification, and — the part that matters — offers a restore flow designed so the application does not break while a restore is in progress. Cost to evaluate is low; cost to adopt is currently unproven, because the project has no external users. Recommendation: fund a one-to-two-week spike with written exit criteria, not a roadmap commitment.
Engineering. Architecturally it's ordinary: a DI extension with configuration keys, a Twig-backed restore UI, Vite/TypeScript frontend assets, and tests colocated with behavior. Integration is register the bundle, mount routes behind our existing firewall and role model, point it at storage, and wire checksum verification into the deploy/rollback runbook. Our review must answer four things: (1) what locking or concurrency semantics actually back the "doesn't break the app mid-restore" claim; (2) what happens on interrupted restore — clean rollback or partial state; (3) how credentials and backup contents are protected; (4) whether restore can be triggered by anyone below admin.
The risk to state plainly is adoption risk, not technology risk. Zero stars and zero dependents means no production-user evidence and a bus factor of one. If the spike passes, mitigate mechanically: fork or vendor under MIT, pin the version, and add our own integration tests around backup creation, checksum mismatch, and interrupted restore. Define the exit criteria up front — restore a production-like dataset inside an acceptable window, no data loss on interruption, and a clean removal path if we walk away.
How can I help you explore Laravel packages today?