coreproc / laravel-minio-media-library-provider
Installs: 7 310
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 1
Open Issues: 0
pkg:composer/coreproc/laravel-minio-media-library-provider
Requires
- league/flysystem-aws-s3-v3: ^3.0
- spatie/laravel-medialibrary: ^10.0|^11.0
This package is auto-updated.
Last update: 2025-10-10 05:55:56 UTC
README
This package fixes a feature in spatie/laravel-media-library where temporary URLs are generated incorrectly when using Minio. It returns the endpoint URL which is inaccessible outside of a Docker application network. This will ensure that the temporary URL generated is accessible outside of the Docker application network.
This assumes that you have a Minio container running on the same Docker network as your Laravel application.
Installation
composer require coreproc/laravel-minio-media-library-provider
Publish the config file:
php artisan vendor:publish --provider="Coreproc\LaravelMinioMediaLibraryProvider\MinioServiceProvider"
Usage
Make sure that you have the following environment variable set:
MINIO_URL=http://localhost:9001
Although, when using CoreProc's Laravel Docker, this is already set for you from environment variables set in our
docker-compose.yml file.
If MNIO_URL is not set, there will be no changes to the default Laravel Media Library URL Generator. This is useful
in production environments where you don't want to use the temporary URL generator.
Next, change the url_generator in your config/media-library.php file to the UrlGenerator in this package:
'url_generator' => \Coreproc\LaravelMinioMediaLibraryProvider\UrlGenerator::class,
That's it! You should now be able to correctly generate temporary URLs for your media files hosted with Minio.
If you have any S3 disks that you don't want to route through the MINIO_URL, you can add the is_minio => false to
your disk in the config/filesystems.php file:
return [ 'disks' => [ ... 'other-s3' => [ 'driver' => 's3', ... 'is_minio' => false, ], ], ];