Skip to content
An interface for Spatie Laravel Backup package
PHP Vue JavaScript HTML CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config Allow to use a custom queue for backup jobs. Feb 16, 2020
public/vendor/laravel_backup_panel Massive refactoring to resemble the spatie/nova-backup-tool. Jan 9, 2020
resources Massive refactoring to resemble the spatie/nova-backup-tool. Jan 9, 2020
routes Massive refactoring to resemble the spatie/nova-backup-tool. Jan 9, 2020
src Allow to use a custom queue for backup jobs. Feb 16, 2020
stubs Change naming of classes, namespaces, files, etc. to fit project's na… Jan 7, 2020
tests Allow to use a custom queue for backup jobs. Feb 16, 2020
.gitignore Initial commit. Jan 4, 2020
.scrutinizer.yml Add scrutinizer settings. Jan 5, 2020
.styleci.yml Add Styleci config file. Jan 6, 2020
.travis.yml Add Travis config file. Jan 6, 2020
CHANGELOG.md Allow to use a custom queue for backup jobs. Feb 16, 2020
CONTRIBUTING.md Provide standard `md` files. Jan 5, 2020
LICENSE.md Initial commit. Jan 4, 2020
README.md Update README.md. Feb 16, 2020
TODO.md Allow to use a custom queue for backup jobs. Feb 16, 2020
composer.json Fix composer.json. Jan 7, 2020
composer.lock Add scrutinizer settings. Jan 5, 2020
package-lock.json Massive refactoring to resemble the spatie/nova-backup-tool. Jan 9, 2020
package.json Massive refactoring to resemble the spatie/nova-backup-tool. Jan 9, 2020
phpunit.xml Add some basic tests. Jan 7, 2020
webpack.mix.js Change naming of classes, namespaces, files, etc. to fit project's na… Jan 7, 2020

README.md

Laravel Backup Panel

Latest Version on Packagist Build Status Quality Score StyleCI Total Downloads

Laravel Backup Panel provides a dashboard for spatie/laravel-backup package. It lets you:

  • create a backup (full | only database | only files)
  • check the health of your backups
  • list all backups
  • download a backup
  • delete a backup
  • monitor used disk storage

Screenshot

It resembles the look and functionality of another Spatie package: spatie/nova-backup-tool. This was done on purpose, so users can easily migrate from one to another. Only it doesn't use polling. A "real-time" updates of a backups list isn't such a necessarily thing and an intensive polling can cause unexpected charges if you use services that require to pay per API requests, such as Google Cloud Storage. Also, some users reported about hitting a rate limit of Dropbox API.

Requirements

Make sure you meet the requirements for installing spatie/laravel-backup.

Installation

First you must install spatie/laravel-backup into your Laravel app. The installation instructions are here. When successful, running php artisan backup:run on the terminal should create a backup and php artisan backup:list should return a list with an overview of all backup disks.

You may use composer to install Laravel Backup Panel into your project:

$ composer require pavel-mironchik/laravel-backup-panel

After installing, publish it resources using provided Artisan command:

$ php artisan laravel-backup-panel:install

This will place assets into public/laravel_backup_panel directory, add config file config/laravel_backup_panel.php, and register service provider app/Providers/LaravelBackupPanelServiceProvider.php.

Upgrading

When upgrading the package, do not forget to re-publish assets:

$ php artisan vendor:publish --tag=laravel-backup-panel-assets --force

Configuration

Laravel Backup Panel exposes a dashboard at /backup. Change it in config/laravel_backup_panel.php file:

'path' => 'backup',

Sometimes you don't want to run backup jobs on the same queue as user actions and things that is more time critical. Specify your desired queue name in config/laravel_backup_panel.php file:

'queue' => 'dedicated_low_priority_queue',

By default, you will only be able to access the dashboard in the local environment. To change that, modify authorization gate in the app/Providers/LaravelBackupPanelServiceProvider.php:

/**
 * Register the Laravel Backup Panel gate.
 *
 * This gate determines who can access Laravel Backup Panel in non-local environments.
 *
 * @return void
 */
protected function gate()
{
    Gate::define('viewLaravelBackupPanel', function ($user) {
        return in_array($user->email, [
            'admin@your-site.com',
        ]);
    });
}

Usage

Open http://your-site/backup. You'll see a dashboard and controls to use.

Testing

$ composer test

Changelog

Please see CHANGELOG for more information about what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Development

Make sure you've prepared a dummy Laravel application to test the package in, because assets will be copied there by this line in webpack.mix.js:

.copy('public/vendor/laravel_backup_panel', '../laravel-backup-panel-test/public/vendor/laravel_backup_panel');

Security

If you discover any security related issues, please email mironchikpavel@gmail.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

You can’t perform that action at this time.