PHPackages                             sameoldnick/laravel-backup-manager - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. sameoldnick/laravel-backup-manager

ActiveLibrary[Database &amp; ORM](/categories/database)

sameoldnick/laravel-backup-manager
==================================

Database-driven backup management for Laravel.

v2.0.1(2w ago)0205↓24%2[7 issues](https://github.com/SameOldNick/laravel-backup-manager/issues)MITPHPPHP ^8.4CI passing

Since Jul 5Pushed 2w agoCompare

[ Source](https://github.com/SameOldNick/laravel-backup-manager)[ Packagist](https://packagist.org/packages/sameoldnick/laravel-backup-manager)[ Docs](https://github.com/sameoldnick/laravel-backup-manager)[ RSS](/packages/sameoldnick-laravel-backup-manager/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (5)Dependencies (57)Versions (6)Used By (0)

Laravel Backup Manager
======================

[](#laravel-backup-manager)

[![Packagist](https://camo.githubusercontent.com/93203b0bc80424a5fb76777d63cc0c3a7de9e3168de6b866ff02a5af28246cd5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73616d656f6c646e69636b2f6c61726176656c2d6261636b75702d6d616e61676572)](https://packagist.org/packages/sameoldnick/laravel-backup-manager)[![codecov](https://camo.githubusercontent.com/22e09d65761264a25f791a8031465542d967d1616070049ad27bdb781eaff845/68747470733a2f2f636f6465636f762e696f2f67682f53616d654f6c644e69636b2f6c61726176656c2d6261636b75702d6d616e616765722f67726170682f62616467652e7376673f746f6b656e3d5367665a6e676d364942)](https://codecov.io/gh/SameOldNick/laravel-backup-manager)[![Demo](https://camo.githubusercontent.com/2249c17486a2747658cb4b0a9eb1d68066aab487065a829bb3df47dbf5de28a0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f64656d6f2d7265706f2d626c7565)](https://github.com/SameOldNick/backup-manager-demo)

A database-driven backup management package for Laravel that centralizes backup and cleanup schedules, supports dynamic storage destinations, and extends [Spatie Backup](https://github.com/spatie/laravel-backup) for production workflows. Provides backend responders for your front-end stack — example React components are available in the [wiki](https://github.com/SameOldNick/laravel-backup-manager/wiki).

Demo
----

[](#demo)

The [demo repository](https://github.com/SameOldNick/laravel-backup-manager-demo) shows the package wired up in a real Laravel application with Inertia and React.

Requirements
------------

[](#requirements)

- PHP 8.4+
- Laravel 11 / 12 / 13
- [spatie/laravel-backup](https://github.com/spatie/laravel-backup)

Installation
------------

[](#installation)

```
composer require sameoldnick/laravel-backup-manager
```

Publish the configuration and migrations:

```
php artisan vendor:publish --tag=backup-manager-config
php artisan vendor:publish --tag=backup-manager-migrations
php artisan migrate
```

Publish the Spatie Backup configuration if you haven't already:

```
php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"
```

Quick Start
-----------

[](#quick-start)

1. **Run the installer** to scaffold app-level responder classes for your front-end stack:

```
php artisan backup-manager:install --stack=inertia
```

Supported stacks: `inertia`, `custom`

2. **Implement the frontend** — Follow the [Building React UI](https://github.com/SameOldNick/laravel-backup-manager/wiki/Building-React-UI) guide or explore the [demo repo](https://github.com/SameOldNick/laravel-backup-manager-demo) for a working example.

The installer also scaffolds an app-level service provider so your application can bind its own responder implementations for the package UI layer.

Features
--------

[](#features)

### Database-Driven Schedules

[](#database-driven-schedules)

Backup and cleanup schedules live in the database — no hard-coded entries in `routes/console.php`. Each backup schedule links to one or more storage destinations.

### Database-Backed Backup Monitors

[](#database-backed-backup-monitors)

Backup monitor configuration, including monitored backup definitions and related filesystem mappings, is stored in the database and can be managed via the built-in service layer and UI responders.

### Dynamic Storage Destinations

[](#dynamic-storage-destinations)

Storage destinations (local, FTP, SFTP) are stored as database records and resolved at runtime. You can add, edit, test, and remove destinations without touching config files.

- **Local** — path-based storage on the same server
- **FTP** — remote FTP server with optional SSL and passive mode
- **SFTP** — secure SSH file transfer with key or password auth

Each destination has a unique slug that becomes its Laravel disk name.

### Built on Spatie Backup

[](#built-on-spatie-backup)

The package wraps [spatie/laravel-backup](https://github.com/spatie/laravel-backup) and extends its configuration. All Spatie Backup features — file selection, database dumping, compression, encryption, notifications, and health checks — work as expected.

### Front-End Integration

[](#front-end-integration)

The package provides responder contracts and implementations that return responses for your front-end stack. Run the installer to scaffold them into your application:

```
php artisan backup-manager:install --stack=inertia
```

Supported stacks: `inertia`, `custom`

The Inertia responders return page-level props for:

- Listing and downloading backups
- Creating, editing, testing, and deleting storage destinations
- Managing backup and cleanup schedules
- Managing backup monitor configuration
- Triggering and monitoring backup runs

The UI layer is contract-based — swap in your own responders for a custom stack (REST API, Blade, Livewire, etc.).

> **Note:** React/Vue components are not included in the package. Example React components for the Inertia responders are available in the [GitHub wiki](https://github.com/SameOldNick/laravel-backup-manager/wiki).

### Real-Time Notifications

[](#real-time-notifications)

Backup progress, success, and failure events are broadcast over WebSockets so your UI can update without polling. Channel access is managed through the application cache.

### Signed Download URLs

[](#signed-download-urls)

Backup files are served through signed, time-limited URLs, keeping your storage disks private while allowing secure downloads.

### Programmatic API

[](#programmatic-api)

All operations are backed by a service layer you can use in your own code, CLI commands, or scheduled jobs:

```
use SameOldNick\BackupManager\Enums\BackupTypes;
use SameOldNick\BackupManager\Services\PerformBackupService;

$service = app(PerformBackupService::class);
$lease = $service->openBackupChannel($uuid, $user);
$backupRun = $service->dispatchBackupJob($lease, BackupTypes::Full, $user);
```

Additional Information
----------------------

[](#additional-information)

The GitHub [wiki](https://github.com/SameOldNick/laravel-backup-manager/wiki) contains additional information about Laravel Backup Manager.

Testing
-------

[](#testing)

```
composer test
```

License
-------

[](#license)

MIT — see [LICENSE](LICENSE) for details.

###  Health Score

47

—

FairBetter than 93% of packages

Maintenance97

Actively maintained with recent releases

Popularity17

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 99.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~8 days

Total

5

Last Release

16d ago

Major Versions

v1.1.1 → v2.0.02026-08-02

### Community

Maintainers

![](https://www.gravatar.com/avatar/3ffbb43bf329bdf64328633153be67c2057ae694839c1b109c74a80b8184aec4?d=identicon)[SameOldNick](/maintainers/SameOldNick)

---

Top Contributors

[![SameOldNick](https://avatars.githubusercontent.com/u/110937288?v=4)](https://github.com/SameOldNick "SameOldNick (200 commits)")[![AchieverSana](https://avatars.githubusercontent.com/u/208362285?v=4)](https://github.com/AchieverSana "AchieverSana (1 commits)")

---

Tags

laraveldatabasebackupmanagerSameOldNick

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/sameoldnick-laravel-backup-manager/health.svg)

```
[![Health](https://phpackages.com/badges/sameoldnick-laravel-backup-manager/health.svg)](https://phpackages.com/packages/sameoldnick-laravel-backup-manager)
```

###  Alternatives

[illuminate/database

The Illuminate Database package.

2.8k55.8M13.2k](/packages/illuminate-database)[spatie/laravel-backup

A Laravel package to backup your application

6.0k25.4M273](/packages/spatie-laravel-backup)[spatie/laravel-health

Monitor the health of a Laravel application

88212.7M190](/packages/spatie-laravel-health)[wnx/laravel-backup-restore

A package to restore database backups made with spatie/laravel-backup.

214456.3k2](/packages/wnx-laravel-backup-restore)[lacodix/laravel-model-filter

A Laravel package to filter, search and sort models with ease while fetching from database.

17562.4k](/packages/lacodix-laravel-model-filter)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

265.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
