PHPackages                             diego-drese/nova-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. [Utility &amp; Helpers](/categories/utility)
4. /
5. diego-drese/nova-backup-manager

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

diego-drese/nova-backup-manager
===============================

A Laravel Nova tool.

V1.0.5(6mo ago)0648MITPHPPHP ^8.1

Since Apr 15Pushed 6mo ago1 watchersCompare

[ Source](https://github.com/diego-drese/nova-backup-manager)[ Packagist](https://packagist.org/packages/diego-drese/nova-backup-manager)[ RSS](/packages/diego-drese-nova-backup-manager/feed)WikiDiscussions main Synced 1mo ago

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

Nova Backup Manager
===================

[](#nova-backup-manager)

A Laravel Nova 5 tool that allows administrators to manage application backups directly from the Nova interface.
Create, download, monitor, and delete backups in a beautiful UI.

This tool uses Laravel's Cache system to improve performance when loading backup data. When scheduling backup jobs via Laravel's scheduler, it's recommended to clear the cache after successful execution:

```
->onSuccess(function () {
    BackupCache::forgetBackupsConfig();
    BackupCache::forgetStatuses();
});
```

This ensures that the Nova UI always displays up-to-date backup information.

---

📦 Installation
--------------

[](#-installation)

Require the package via Composer:

```
  composer require diego-drese/nova-backup-manager
```

---

🔧 Register the Tool
-------------------

[](#-register-the-tool)

In your `NovaServiceProvider` (or any custom Nova Tool registration), register the tool:

```
public function tools()
{
    return [
        // ...
        new \DiegoDrese\NovaBackupManager\NovaBackupManager,
    ];
}
```

---

⚙️ Publish the Configuration File
---------------------------------

[](#️-publish-the-configuration-file)

To customize permissions and behavior, publish the config file:

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

This will create the file:
`config/nova-backup-manager.php`

---

⚙️ Configuration Options
------------------------

[](#️-configuration-options)

```
return [
    'polling' => true,
    'polling_interval' => 10, // in seconds
    'queue' => null, // queue to dispatch backup jobs

    'show_menu' => true,
    'create' => true,
    'delete' => true,
    'download' => true,

    // Optional: dynamically resolve permissions per user
    'resolve_permissions' => null,
];
```

---

🛡️ Customize Per-user Permissions
---------------------------------

[](#️-customize-per-user-permissions)

To customize how permissions are evaluated per user, you can publish and customize the permission resolver:

```
  php artisan vendor:publish --tag=nova-backup-manager-permissions
```

This will create the file:

app/Nova/BackupPermissionResolver.php

This will override the static `show_menu`, `create`, `delete`, and `download` flags dynamically for each logged-in user.

In your config/nova-backup-manager.php, point to the resolver:

```
  'resolve_permissions' => [\App\Nova\BackupPermissionResolver::class, 'resolve'],
```

---

🖥️ Features
-----------

[](#️-features)

- Create full or partial (database/files only) backups
- List and download backups per disk
- Delete old backups
- Monitor disk health and status
- Live polling (configurable)

---

🖼️ UI Preview
-------------

[](#️-ui-preview)

[![img.png](img.png)](img.png)

[![img_1.png](img_1.png)](img_1.png)

---

📜 License
---------

[](#-license)

MIT © [Diego Drese](https://github.com/diego-drese)

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance66

Regular maintenance activity

Popularity16

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

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 ~37 days

Recently: every ~47 days

Total

6

Last Release

203d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/7375455?v=4)[Diego](/maintainers/diego-drese)[@diego-drese](https://github.com/diego-drese)

---

Top Contributors

[![diego-drese](https://avatars.githubusercontent.com/u/7375455?v=4)](https://github.com/diego-drese "diego-drese (11 commits)")

---

Tags

laravelnova

### Embed Badge

![Health badge](/badges/diego-drese-nova-backup-manager/health.svg)

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

###  Alternatives

[spatie/nova-backup-tool

A Laravel Nova tool to backup your application.

361560.7k1](/packages/spatie-nova-backup-tool)[datomatic/nova-enum-field

A Laravel Nova PHP 8.1 enum field with filters

20134.2k](/packages/datomatic-nova-enum-field)[advoor/nova-editor-js

A Laravel Nova field bringing EditorJs magic to Nova.

92179.0k3](/packages/advoor-nova-editor-js)[simplesquid/nova-enum-field

A Laravel Nova field to add enums to resources.

52391.9k2](/packages/simplesquid-nova-enum-field)[genealabs/laravel-changelog

A Laravel Nova tool.

55250.7k](/packages/genealabs-laravel-changelog)[sbine/route-viewer

A Laravel Nova tool to view your registered routes.

57215.9k](/packages/sbine-route-viewer)

PHPackages © 2026

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