PHPackages                             stechstudio/publish-s3-assets - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. stechstudio/publish-s3-assets

ActiveLibrary[File &amp; Storage](/categories/file-storage)

stechstudio/publish-s3-assets
=============================

A simple way to publish assets directly to S3, in CI or elsewhere

1.3(1y ago)0693MITPHP

Since Feb 6Pushed 1y ago2 watchersCompare

[ Source](https://github.com/stechstudio/publish-s3-assets)[ Packagist](https://packagist.org/packages/stechstudio/publish-s3-assets)[ RSS](/packages/stechstudio-publish-s3-assets/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (4)Versions (5)Used By (0)

stechstudio/publish-s3-assets
=============================

[](#stechstudiopublish-s3-assets)

Publishing your assets to S3 has never been easier![1](#user-content-fn-1-bd1709b3f10a5127834bc85133d3f866)

Four steps:

1. `composer require stechstudio/publish-s3-assets`
2. Set your desired bucket URL as your `ASSET_URL`
3. Add `ASSET_AWS_DEFAULT_REGION` (defaults to `AWS_DEFAULT_REGION`) and `ASSET_AWS_BUCKET` to your .env, pointed at the bucket you want to publish your assets to.
4. Run `php artisan assets:publish`.

If you just wanted to publish everything in `public`, you're done!

But what if I want...
---------------------

[](#but-what-if-i-want)

### ... to publish specific folders?

[](#-to-publish-specific-folders)

Pass them as a comma-separated list to `assets:publish`, like so:

```
php artisan assets:publish public/build/assets,public/vendor,public/css/filament,public/js/filament

```

That will publish only what's found in those folders, recursively.

### ... to rename those folders in s3?

[](#-to-rename-those-folders-in-s3)

First, ask yourself: Do you *really* want to? If you just want to change `public/build/assets` to `build/assets`, see `--strip-public` below.

Otherwise...

```
php artisan assets:publish some/original/path:its/new/path

```

### ... to remove `public` from the beginning of each asset?

[](#-to-remove-public-from-the-beginning-of-each-asset)

```
php artisan assets:publish --strip-public

```

With that, `public/build/assets` locally becomes `build/assets` in your bucket, and so on.

### ... to remove any files that don't exist?

[](#-to-remove-any-files-that-dont-exist)

```
php artisan assets:publish --clean

```

It gets all of your destinations (such as `public/build/assets`), then deletes them and their contents before uploading the new files.

Footnotes
---------

1. Claim neither benchmarked nor proven, but we like it! [↩](#user-content-fnref-1-bd1709b3f10a5127834bc85133d3f866)

###  Health Score

30

—

LowBetter than 65% of packages

Maintenance45

Moderate activity, may be stable

Popularity16

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~131 days

Total

4

Last Release

428d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/315be5f111b5501a41b99a0205c9c85915335391168a0ed10316546a1a38bbd8?d=identicon)[jszobody](/maintainers/jszobody)

---

Top Contributors

[![V13Axel](https://avatars.githubusercontent.com/u/2779682?v=4)](https://github.com/V13Axel "V13Axel (6 commits)")

### Embed Badge

![Health badge](/badges/stechstudio-publish-s3-assets/health.svg)

```
[![Health](https://phpackages.com/badges/stechstudio-publish-s3-assets/health.svg)](https://phpackages.com/packages/stechstudio-publish-s3-assets)
```

###  Alternatives

[league/flysystem-aws-s3-v3

AWS S3 filesystem adapter for Flysystem.

1.6k263.6M788](/packages/league-flysystem-aws-s3-v3)[aws/aws-sdk-php-laravel

A simple Laravel 9/10/11/12/13 service provider for including the AWS SDK for PHP.

1.7k35.6M74](/packages/aws-aws-sdk-php-laravel)[incursus/laravel-s3-tools

This Laravel package contains additional functionality not currently in Laravel for interfacing with Amazon's S3 service, including managing versioned objects.

3382.3k](/packages/incursus-laravel-s3-tools)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
