Filament Plugins

Purchase

Installation

Thank you for purchasing the Filament Upload Pro plugin for Filament!

We tried to make the plugin as easy-to-install and versatile as possible. Nevertheless, if you still have a question or a feature request, please send an e-mail to [email protected].

In this guide I'll show you how to install the plugin, so you can start using it right away.

Prerequisites

The package is supported on Laravel 10 or higher and Filament V5, V4 and V3.

Installation

1

Add Composer repository

Run the following command to add the private Composer repository:

terminal
composer config 'repositories.ralphjsmit/*' composer https://satis.ralphjsmit.com

The end result should look something like this:

composer.json
"repositories": [
    {
        "type": "composer",
        "url": "https://satis.ralphjsmit.com"
    }
]
2

Require the package

Next, run the following command to require the package:

terminal
composer require ralphjsmit/laravel-filament-upload

If you receive a question to allow the plugin to run code, select yes. Next, you will be prompted for your username (which is your e-mail) and your password (which is your license key, e.g. 8c21df8f-6273-4932-b4ba-8bcc723ef500).

If you are installing the package in a Filament V3 installation, you should require the version ^0.4 instead:

terminal
composer require ralphjsmit/laravel-filament-upload:^0.4

Composer will ask if you want to store your credentials in your global auth.json.

If you want to store the credentials per project and not globally, run the following command to create an auth.json file in the root of your project instead:

terminal
composer config http-basic.satis.ralphjsmit.com {your_username} {your_password}

(Make sure not to commit the auth.json file by adding it to your .gitignore file.)

If you have a Solo-license and are getting a 403 error, then you probably have run out of device activations. Each new server/laptop/device counts as one activation. Check your license email for the link to remove existing activations or upgrade your license.

3

Publish the config

Optionally, you can publish the config file to customize the package's default behavior:

terminal
php artisan vendor:publish --tag="filament-upload-config"
4

Add to custom theme

Since this plugin registers new HTML, you need to make sure that the plugin's Tailwind CSS classes are generated. If you do not follow this step, you risk that the plugin pages and designs look weird, because the CSS is missing.

For all panels that you want to use the package in, make sure that you have created a Filament custom theme. Next, for each theme, you need to add the following line to the theme.css file:

resources/css/filament/{your-panel}/theme.css
@source '../../../../vendor/ralphjsmit/laravel-filament-upload/resources/**/*.blade.php';

If you are using the plugin outside a panel, then make sure to include the above line in the CSS file that is used to generate the CSS for the Livewire components where you will use the upload component in.

5

Register the plugin

The Filament Upload Pro package works in all forms & infolists, irrespective of whether you also have a Filament panel or not. This means that you can nicely include the advanced upload in your app, anywhere you want and wherever you have a form or infolist.

If you do decide to use the Filament Upload package in a panel, then you should register the plugin in each of the $panel providers that you want to use the plugin in:

app/Providers/Filament/YourPanelProvider.php
use RalphJSmit\Filament\Upload\FilamentUpload;

$panel
    ->plugin(FilamentUpload::make())

In the rest of the documentation, if you see any code examples that use the $panel variable, it will refer to this variable in the panel service provider for each of the panels that you register the plugin in.

S3-bucket CORS configuration

If you are using S3, confirm that your bucket has a CORS configuration with at least the following properties:

json
[
    {
        "AllowedOrigins": [
            "https://example.com",
            "https://staging.example.com"
        ],
        "AllowedMethods": [
            "GET",
            "PUT",
            "HEAD"
        ],
        "AllowedHeaders": [
            "*"
        ],
        "ExposeHeaders": [
            "ETag"
        ]
    }
]

Publishing translations

If wanted, you can publish the translations using the following command:

terminal
php artisan vendor:publish --tag="filament-upload-translations"

Deployment environments

If you want to install the Filament Upload package during your GitHub Actions workflow, you can add the following line to your workflow file just before the composer install command:

.github/workflows/{workflow}.yml
composer config http-basic.satis.ralphjsmit.com ${{ secrets.FILAMENT_UPLOAD_USERNAME }} ${{ secrets.FILAMENT_UPLOAD_PASSWORD }}
composer install --no-interaction --prefer-dist --no-dev

Next, add the following two GitHub Actions secrets to your repository (Settings > Secrets and variables > Actions > New repository secret):

Secret Value
FILAMENT_UPLOAD_USERNAME Your e-mail
FILAMENT_UPLOAD_PASSWORD Your license key

As Laravel Cloud does not support a global auth.json or a UI-based way to add private package credentials, the current solution is to add the following line to your deployment script, replacing {username} and {password} with your actual credentials:

Laravel Cloud deployment script
composer config http-basic.satis.ralphjsmit.com {username} {password}
composer install --no-dev

Installing on Laravel Forge can be done in two ways. The simplest way is on first deploy to SSH to your server, run composer install, enter the required credentials and select yes when asked to save them in the global auth.json file. The other option is to go to {server} > PHP > Composer > Add credential in Forge. Here, enter the following details:

  • Repository: satis.ralphjsmit.com (note: do not prefix with https://)
  • Username: which is your e-mail
  • Password: which is your license key

Changing the email associated with your license key

If you need to change the email associated with your license key, please send an e-mail to [email protected].

Changelog

You can view the changelog and/or subscribe for email updates on the Filament Plugins page. You can sign in using your license e-mail and a magic link, after which you can go to your plugin, click on the Gear icon > Changelog.

© FilamentPlugins.com ✦ 2022 – 2026
PrivacyTerms & Conditions
All rights reserved.