PHPackages                             fof/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. fof/s3-assets

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

fof/s3-assets
=============

Relocate Flarum disks onto S3 or compatible bucket

1.0.0-beta.4(1y ago)04711[1 PRs](https://github.com/FriendsOfFlarum/s3-assets/pulls)MITPHPPHP ^8.0

Since Nov 22Pushed 1y agoCompare

[ Source](https://github.com/FriendsOfFlarum/s3-assets)[ Packagist](https://packagist.org/packages/fof/s3-assets)[ Docs](https://friendsofflarum.org)[ Fund](https://opencollective.com/fof/donate)[ RSS](/packages/fof-s3-assets/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (6)Versions (5)Used By (0)

FoF S3 Assets
=============

[](#fof-s3-assets)

A [Flarum](http://flarum.org) extension. Relocate Flarum disks onto S3 or compatible bucket

Installation
------------

[](#installation)

Install with composer:

```
composer require fof/s3-assets:"*"
```

Updating
--------

[](#updating)

```
composer update fof/s3-assets
php flarum cache:clear
```

Configuration
-------------

[](#configuration)

The S3 (or compatible) bucket can be configured either by environment variables or via the extension settings. If the environment variables are set, they will override the settings entered in the admin panel, if set.

#### Environment variables

[](#environment-variables)

- `FOF_S3_ACCESS_KEY_ID` - your access key ID \*
- `FOF_S3_SECRET_ACCESS_KEY` - your secret \*
- `FOF_S3_REGION` - the region \*
- `FOF_S3_BUCKET` - the bucket name \*
- `FOF_S3_URL` - the public facing base URL of the bucket
- `FOF_S3_ENDPOINT` - the ARN
- `FOF_S3_ACL` - The ACL, if any, that should be applied to the uploaded object. For possible values, see [AWS Docs](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl)
- `FOF_S3_PATH_STYLE_ENDPOINT` - boolean value
- `FOF_S3_CACHE_CONTROL` - Optional. Specify the `max-age` header files should be served with, for example `3153600` (1 year). `0` or not set = no caching.

`*` denotes the minimum requirements for using S3 on AWS. S3-compatible services will require more.

If you plan to setup the S3 configuration using the environment variables, please ensure these are set *before* enabling the extension

#### Transferring assets from the existing filesystem to the S3 bucket

[](#transferring-assets-from-the-existing-filesystem-to-the-s3-bucket)

After your new bucket is configured, any exisiting files, will not exist there (ie uploaded avatars, profile covers, etc).

Use the provided command to start copying these files. An optional additional paramater `--move` will delete the files from your local filesystem after a successful copy.

```
php flarum fof:s3:copy --move
```

Links
-----

[](#links)

- [Discuss](https://discuss.flarum.org/d/PUT_DISCUSS_SLUG_HERE)

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance39

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity32

Early-stage or recently created project

 Bus Factor1

Top contributor holds 53.1% 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 ~3 days

Total

4

Last Release

526d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/16573496?v=4)[IanM](/maintainers/imorland)[@imorland](https://github.com/imorland)

![](https://avatars.githubusercontent.com/u/1630413?v=4)[Gregor Hammerschmidt](/maintainers/GreXXL)[@GreXXL](https://github.com/GreXXL)

![](https://www.gravatar.com/avatar/0538135c1debcef5602dce7ece027909cc832b7a6284ab9189a19aa8de98d60d?d=identicon)[clarkwinkelmann](/maintainers/clarkwinkelmann)

![](https://www.gravatar.com/avatar/1298cdc0b2402a1aa34fb75a254947d655e090d62bd0531311331d369cac934e?d=identicon)[datitisev](/maintainers/datitisev)

---

Top Contributors

[![imorland](https://avatars.githubusercontent.com/u/16573496?v=4)](https://github.com/imorland "imorland (26 commits)")[![flarum-bot](https://avatars.githubusercontent.com/u/39334649?v=4)](https://github.com/flarum-bot "flarum-bot (11 commits)")[![luceos](https://avatars.githubusercontent.com/u/504687?v=4)](https://github.com/luceos "luceos (11 commits)")[![davwheat](https://avatars.githubusercontent.com/u/7406822?v=4)](https://github.com/davwheat "davwheat (1 commits)")

---

Tags

flarum

### Embed Badge

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

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

###  Alternatives

[fof/upload

The file upload extension for the Flarum forum with insane intelligence.

188171.7k15](/packages/fof-upload)[livetyping/hermitage

RESTful image server

332.8k1](/packages/livetyping-hermitage)

PHPackages © 2026

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