# Remote Database Backup

[![Total Downloads](https://img.shields.io/packagist/dt/rupadana/remote-database-backup.svg?style=flat-square)](https://packagist.org/packages/rupadana/remote-database-backup)

RDB is a web application built using [FilamentPHP v3](https://filamentphp.com/).

This tool offers a seamless and secure way to manage and back up your databases remotely. With an intuitive user interface, it allows you to schedule backups, and monitor backup with ease.

Designed for efficiency and reliability, RDB is the perfect solution for businesses and developers looking to safeguard their critical data effortlessly.

### Prerequisites

You must install `mysql-client` and `postgresql-client` since this project uses `mysqldump` and `pg_dump`.

### Installation

Clone the repository

```bash
composer create-project rupadana/remote-database-backup
```

Update your local environment

Run artisan `app:install`

```bash
php artisan app:install
```

Default user

email : <rupadana@codecrafters.id>

password : 12345678

### Supervisor

This project must use `supervisorctl` to manage database queues. Make sure you configure it itself.

### Database Backup Runner

Currently, we support two runners to back up `mysql` and `postgresql` databases.

You can easly adding your custom runner by extends class `AbstractBackupRunner` and register it on `AppServiceProvider`

```php
\App\Filament\Resources\DatabaseResource\Services\Backup\BackupRunner::register(CustomBackupRunner::class);
```

### Code of Conduct

In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).

### Security Vulnerabilities

If you discover a security vulnerability within this project, please send an e-mail to Rupadana via <rupadana@codecrafters.id>. All security vulnerabilities will be promptly addressed.

### License

The Remote Database Backup is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.codecrafters.id/project/remote-database-backup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
