bangnokia/laravel-bunny-storage

Use Bunny Storage in Laravel application

v1.3.3 2024-04-28 11:20 UTC

This package is auto-updated.

Last update: 2024-10-28 12:24:29 UTC


README

Bunny Storage for Laravel

This package is just a wrapper for Laravel of the flysystem-bunnycdn package for simple integration with Laravel.

Installation

composer require bangnokia/laravel-bunny-storage

Configuration

This package automatically register the service provider and the storage disk for the driver bunny. You can configure the disk in config/filesystems.php:

'bunny' => [
    'driver' => 'bunny',
    'storage_zone' => env('BUNNY_STORAGE_ZONE'),
    'api_key' => env('BUNNY_API_KEY'),
    'region' => env('BUNNY_REGION', \PlatformCommunity\Flysystem\BunnyCDN\BunnyCDNRegion::DEFAULT),
    'pull_zone' => env('BUNNY_PULL_ZONE', ''), // optional if you want to access the file publicly
    'root' => '', // optional, you could set a specific folder for upload like '/uploads'
],

and remember to add the environment variables in your .env file:

BUNNY_STORAGE_ZONE=your-storage-zone
BUNNY_API_KEY=your-api-key
#BUNNY_REGION=your-region
#BUNNY_PULL_ZONE=your-pull-zone

Usage

Storage::disk('bunny')->put('index.html', '<html>Hello World</html>');

return response(Storage::disk('bunny')->get('index.html'));

Regions

For a full region list, please visit the BunnyCDN API documentation page.

flysystem-bunnycdn also comes with constants for each region located within PlatformCommunity\Flysystem\BunnyCDN\BunnyCDNRegion.

# Europe
BunnyCDNRegion::FALKENSTEIN = 'de';
BunnyCDNRegion::STOCKHOLM = 'se';

# United Kingdom
BunnyCDNRegion::UNITED_KINGDOM = 'uk';

# USA
BunnyCDNRegion::NEW_YORK = 'ny';
BunnyCDNRegion::LOS_ANGELAS = 'la';

# SEA
BunnyCDNRegion::SINGAPORE = 'sg';

# Oceania
BunnyCDNRegion::SYDNEY = 'syd';

# Africa
BunnyCDNRegion::JOHANNESBURG = 'jh';

# South America
BunnyCDNRegion::BRAZIL = 'br';