nova-kit/nova-on-vapor is a Laravel package for nova on vapor integration library.
It currently has 6 GitHub stars and 70.999 downloads on Packagist (latest version v2.1.0).
Install it with composer require nova-kit/nova-on-vapor.
Discover more Laravel packages by nova-kit
or browse all Laravel packages to compare alternatives.
Last updated
This library attempts to solves several limitations when using Laravel Nova on Laravel Vapor including:
nova:user command.VaporFile and VaporImage locally via Minio.ExportAsCsv supports for Laravel VaporTo install through composer, run the following command from terminal:
composer require "nova-kit/nova-on-vapor"
nova:vapor-user CommandThe command swaps interactive mode questions to artisan command options, so you can use --email, --name and optionally --password, as an example:
php artisan nova:vapor-user --name="Administrator" --email="[email protected]"
Note: Without passing
--password, the code would generate a random 8 character password and you can use the Forgot Password feature to reset the value.
Warning: Using
--passwordis possible but be aware that the value will be logged to CloudWatch.
VaporFile and VaporImage locallyYou can setup Minio locally and use it as a replacement for S3 locally. First you need to install league/flysystem-aws-s3-v3 by running the following command:
composer require "league/flysystem-aws-s3-v3"
Next, you need to enable and configure Minio:
NOVA_ON_VAPOR_ENABLES_MINIO=(true)
MINIO_USERNAME=
MINIO_PASSWORD=
MINIO_ENDPOINT=
AWS_ACCESS_KEY_ID="${MINIO_USERNAME}"
AWS_SECRET_ACCESS_KEY="${MINIO_PASSWORD}"
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=local
AWS_ENDPOINT="${MINIO_ENDPOINT}"
AWS_USE_PATH_STYLE_ENDPOINT=(true)
You can replace Laravel\Nova\Actions\ExportAsCsv with NovaKit\NovaOnVapor\Actions\VaporExportAsCsv:
use Laravel\Nova\Actions\ExportAsCsv;
use NovaKit\NovaOnVapor\Actions\VaporExportAsCsv;
/**
* Get the actions available for the resource.
*
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @return array
*/
public function actions(NovaRequest $request)
{
return [
VaporExportAsCsv::make(),
];
}
If you would like to change the storage disk to store the CSV file that is available for download, you may invoke the withStorageDisk() method when registering the action:
return [
VaporExportAsCsv::make()->withStorageDisk('s3'),
];
downloadViaTemporaryUrl MixinLaravel Vapor has a response limit of 6MB and this would cause issue when you need to download large files. You can avoid this by utilising Storage::temporaryUrl() to download the file:
VaporFile::make('Filename')->downloadViaTemporaryUrl(),