How to Store Backup On Dropbox In Laravel 8

Store backup on Dropbox in laravel 8; In this tutorial, i will show you detail guide on how to integrate dropbox in laravel 8 app for store backup on it using spatie/laravel-backup package.

Dropbox is a home for all your work. You can store and share files, collaborate on projects, and bring your best ideas to life—whether you’re working alone or with colleagues and clients. With Dropbox, all your files are backed up to the cloud and available online.

Laravel 8 Backup Store On Dropbox Example Tutorial

  • Step 1 – Install Laravel 8 App
  • Step 2 – Connecting App to Database
  • Step 3 – Install spatie/laravel-backup
  • Step 4 – Import Dropbox as Filesystem in Laravel
  • Step 5 – Configure Dropbox Details
  • Step 6 – Execute Backup Command
  • Step 7 – Conclusion

Step 1 – Install Laravel 8 App

Open your terminal and navigate to local web server directory. Then type the following command on terminal to download laravel 8 app:

composer create-project --prefer-dist laravel/laravel Blog

Step 2 – Connecting App to Database

Navigate to root directory of download laravel app. And open .env file. Then configure database details like following:

 DB_CONNECTION=mysql 
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=here your database name here
DB_USERNAME=here database username here
DB_PASSWORD=here database password here

Step 3 – Install spatie/laravel-backup

Execute the following command on terminal to install spatie/laravel-backup package in laravel 8 app:

composer require spatie/laravel-backup

Then execute the following command on terminal to publish this installed package:

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

Note that, it will publish the configuration file in config/backup.php. Now, configure your backup according to your requirement.

Add dropbox details in the disk option in the config/backup.php.

<?php
   
return [
   
    // ...
    'destination' => [
  
        // ...
        /*
         * The disk names on which the backups will be stored.
         */
        'disks' => [
            'dropbox',
        ],

Step 4 – Setup Dropbox as Filesystem in Laravel

Execute the following command on terminal to install a Filesystem adapter for Dropbox. So, run the following command in your terminal:

composer require spatie/flysystem-dropbox

Then execute the command on terminal to create service provider:

php artisan make:provider DropboxServiceProvider

Then, inside the boot() method add the Dropbox for the Laravel filesystem:

<?php
 
namespace App\Providers;
 
use Storage;
use League\Flysystem\Filesystem;
use Illuminate\Support\ServiceProvider;
use Spatie\Dropbox\Client as DropboxClient;
use Spatie\FlysystemDropbox\DropboxAdapter;
 
class DropboxServiceProvider extends ServiceProvider
{
    // ...
    public function boot()
    {
        Storage::extend('dropbox', function ($app, $config) {
            $client = new DropboxClient(
                $config['authorization_token']
            );
 
            return new Filesystem(new DropboxAdapter($client));
        });
    }
}

After this, register the service provider by adding the following line in the providers array of config/app.php.

'providers' => [
    // ...
    App\Providers\DropboxDriveServiceProvider::class,
];

Step 5 – Configure Dropbox Details

Configure Dropbox app with this laravel app. So, open your laravel 8 project in any text editor. Then navigate the config directory and open filesystem.php file and add the client id, secret and callback url:

<?php
   
return [
   
    // ...
   
    'disks' => [
   
        // ...
   
        'dropbox' => [
            'driver' => 'dropbox',
            'authorization_token' => env('DROPBOX_AUTH_TOKEN'),
        ],
   
    ],
];

Then update .env file of laravel 8 app. In this environment file you need to add the following Dropbox auth token:

DROPBOX_AUTH_TOKEN=<your token>

Step 6 – Execute Backup Command

Open your terminal and execute the following command to check the backup file is created or not:

php artisan backup:run

Step 7 – Conclusion

Laravel 8 store backup on dropbox example tutorial, you have learned how to store laravel 8 app backup on dropbox using spatie/laravel-backup.

Recommended Laravel Posts

Leave a Comment