PHPackages                             mahmoud-mhamed/laravel-backup-browse - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. mahmoud-mhamed/laravel-backup-browse

Abandoned → [https://github.com/mahmoud-mhamed/laravel-backup-station](/?search=https%3A%2F%2Fgithub.com%2Fmahmoud-mhamed%2Flaravel-backup-station)Library[Utility &amp; Helpers](/categories/utility)

mahmoud-mhamed/laravel-backup-browse
====================================

A web UI for managing Laravel backups and backup schedules, built on top of spatie/laravel-backup.

v1.0.4(4mo ago)030MITPHPPHP ^8.1

Since Feb 18Pushed 4mo agoCompare

[ Source](https://github.com/mahmoud-mhamed/spatie-laravel-backup-browse)[ Packagist](https://packagist.org/packages/mahmoud-mhamed/laravel-backup-browse)[ RSS](/packages/mahmoud-mhamed-laravel-backup-browse/feed)WikiDiscussions main Synced today

READMEChangelog (4)Dependencies (7)Versions (6)Used By (0)

Laravel Backup Browse
=====================

[](#laravel-backup-browse)

A web UI for managing Laravel backups and backup schedules, built on top of [spatie/laravel-backup](https://spatie.be/docs/laravel-backup/v9/introduction).

[![PHP](https://camo.githubusercontent.com/187240af044d09d5b14a1d9d9ebdf3f7a993e4c7bc09bdb46b4ba661a891bf5b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e322532422d626c7565)](https://camo.githubusercontent.com/187240af044d09d5b14a1d9d9ebdf3f7a993e4c7bc09bdb46b4ba661a891bf5b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e322532422d626c7565)[![Laravel](https://camo.githubusercontent.com/e318ae4be28139e4db425542a2f219c31be670221baae920b3fb42e6784d7cc7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31302e7825323025374325323031312e782d726564)](https://camo.githubusercontent.com/e318ae4be28139e4db425542a2f219c31be670221baae920b3fb42e6784d7cc7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31302e7825323025374325323031312e782d726564)[![License](https://camo.githubusercontent.com/5caa455d8debc46fb23abbadb45a733a937f3910a73fc875c2f7820468e1bb54/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e)](https://camo.githubusercontent.com/5caa455d8debc46fb23abbadb45a733a937f3910a73fc875c2f7820468e1bb54/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e)

---

Features
--------

[](#features)

- **Backup Management** — View, create, download, and delete backups from a clean web interface
- **Scheduled Backups** — Create and manage backup schedules (daily, weekly, monthly)
- **One-Click Backups** — Run full, database-only, or files-only backups instantly
- **Queue Support** — Backup jobs are dispatched to your queue for non-blocking execution
- **Polymorphic Tracking** — Every backup records who created it
- **Custom Layout Support** — Use the built-in Tailwind layout or plug into your own
- **Publishable Assets** — Config, migrations, and views are all publishable

---

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

[](#installation)

```
composer require mahmoud-mhamed/laravel-backup-browse
```

The package auto-discovers its service provider. No manual registration needed.

### Publish Config (optional)

[](#publish-config-optional)

```
php artisan vendor:publish --tag=backup-browse-config
```

### Run Migrations

[](#run-migrations)

```
php artisan migrate
```

> Migrations are idempotent — running them twice won't cause errors.

### Set Up the Scheduler

[](#set-up-the-scheduler)

Add this to your server's crontab if you haven't already:

```
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

```

The package automatically registers its `backup-browse:run-scheduled` command to run every minute via Laravel's scheduler.

---

Configuration
-------------

[](#configuration)

After publishing, edit `config/backup-browse.php`:

```
return [
    // Middleware applied to all routes
    'middleware' => ['web', 'auth'],

    // URL prefix: yourdomain.com/backup-browse
    'route_prefix' => 'backup-browse',

    // Filesystem disk for storing backups
    'disk' => 'local',

    // Set to your app layout (e.g. 'layouts.app') or null for standalone
    'layout' => null,

    // @yield() section name in your layout
    'content_section' => 'content',

    // Queue settings (null = app defaults)
    'queue_connection' => null,
    'queue' => null,

    // Toggle which backup types are available
    'allow_full_backup' => true,
    'allow_db_only_backup' => true,
    'allow_files_only_backup' => true,
];
```

---

Usage
-----

[](#usage)

### Web Interface

[](#web-interface)

Navigate to `/backup-browse` in your browser.

**Backups tab** — View all backups with status badges, download completed backups, or delete old ones. Hit **Backup Now**, **DB Only**, or **Files Only** to trigger a new backup.

**Schedules tab** — Create, edit, and delete backup schedules. Choose from daily, weekly, or monthly frequencies. Toggle schedules on/off without deleting them.

### Artisan Commands

[](#artisan-commands)

Run all due backup schedules manually:

```
php artisan backup-browse:run-scheduled
```

### Using Your Own Layout

[](#using-your-own-layout)

Set the `layout` config to your app's layout view:

```
'layout' => 'layouts.app',
'content_section' => 'content',
```

The package views will render inside your layout's `@yield('content')` section. When `layout` is `null`, a standalone layout with Tailwind CSS (via CDN) is used.

### Publish Views for Customization

[](#publish-views-for-customization)

```
php artisan vendor:publish --tag=backup-browse-views
```

Views will be copied to `resources/views/vendor/backup-browse/` where you can modify them freely.

---

How It Works
------------

[](#how-it-works)

```
User clicks "Backup Now"
        │
        ▼
BackupController creates a Backup record (status: pending)
        │
        ▼
CreateBackupJob is dispatched to queue
        │
        ▼
Job runs `php artisan backup:run` (spatie/laravel-backup)
        │
        ▼
Job finds the newest .zip on disk, updates Backup record
        │
        ▼
Backup status → completed (with path + size)

```

For scheduled backups, the `backup-browse:run-scheduled` command runs every minute, checks which schedules are due via cron expressions, and dispatches `CreateBackupJob` for each.

---

Database Schema
---------------

[](#database-schema)

### `backups`

[](#backups)

ColumnTypeDescription`id`bigintPrimary key`name`stringBackup name`path`string (nullable)File path on disk`disk`stringFilesystem disk`size`bigintSize in bytes`status`string`pending`, `in_progress`, `completed`, `failed``created_by_id`bigint (nullable)Polymorphic creator ID`created_by_type`string (nullable)Polymorphic creator type`error_message`text (nullable)Error details if failed`created_at`timestamp`updated_at`timestamp### `backup_schedules`

[](#backup_schedules)

ColumnTypeDescription`id`bigintPrimary key`name`stringSchedule name`frequency`string`daily`, `weekly`, `monthly``time`stringHH:MM format`day_of_week`tinyint (nullable)0 (Sun) – 6 (Sat)`day_of_month`tinyint (nullable)1 – 31`only_db`booleanDatabase-only backup`only_files`booleanFiles-only backup`enabled`booleanWhether schedule is active`last_run_at`timestamp (nullable)Last execution time`created_at`timestamp`updated_at`timestamp---

Testing
-------

[](#testing)

```
composer test
```

Or directly:

```
vendor/bin/phpunit
```

Tests use Orchestra Testbench with SQLite in-memory. No external services required.

---

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

[](#requirements)

- PHP 8.2+
- Laravel 10.x or 11.x
- [spatie/laravel-backup](https://github.com/spatie/laravel-backup) v9 (installed automatically)

---

License
-------

[](#license)

MIT License. See [LICENSE](LICENSE) for details.

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance76

Regular maintenance activity

Popularity7

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~1 days

Total

5

Last Release

132d ago

PHP version history (2 changes)v1.0.0PHP ^8.2

v1.0.2PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/3d00c2f8ae29401e1b578e1435eae2629802a0c10e8322e5cb12d701538ff971?d=identicon)[mahmoud-mhamed](/maintainers/mahmoud-mhamed)

---

Top Contributors

[![mahmoud-mhamed](https://avatars.githubusercontent.com/u/45818696?v=4)](https://github.com/mahmoud-mhamed "mahmoud-mhamed (6 commits)")

---

Tags

spatielaravelbackupschedulebrowse

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/mahmoud-mhamed-laravel-backup-browse/health.svg)

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

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.6k29.9M147](/packages/laravel-cashier)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k15.1M132](/packages/laravel-pulse)[laravel/ai

The official AI SDK for Laravel.

1.0k3.2M199](/packages/laravel-ai)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9762.4M131](/packages/roots-acorn)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

77022.3M151](/packages/laravel-mcp)

PHPackages © 2026

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