Download the PHP package adrian-mid/humhub-s3 without Composer

On this page you can find all versions of the php package adrian-mid/humhub-s3. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package humhub-s3

HumHub S3

Code Quality Packagist Version License

Store HumHub file uploads in Amazon S3 or an S3-compatible service (MinIO, Wasabi, etc.) instead of the local filesystem.

Features

Requirements

If you run HumHub below 1.18, stay on the 1.x release line (composer require adrian-mid/humhub-s3:^1.2).

Installation

Upgrade to the latest version

Enable HumHub S3 under Administration → Modules.

HumHub processes module disable and removal via background queue jobs. Ensure cron is running (php protected/yii cron/run) or run the queue worker manually (php protected/yii queue/run).

Configuration

Setting Description
Enable HumHub S3 Activates remote storage for new uploads
Bucket Name Target S3 bucket (lowercase, 3-63 characters)
AWS Region e.g. ap-southeast-2
Access Key ID IAM access key
Secret Access Key IAM secret key (leave blank when saving to keep the existing key)
Object Prefix Optional folder prefix inside the bucket (default humhub)
Presigned Download URL TTL Lifetime in seconds for private file download links (default 900 seconds)
Custom Endpoint Leave empty for AWS S3
Use path-style URLs Enable for most S3-compatible endpoints

Use Test Connection to verify upload, download, and delete operations before enabling storage.

HTTP endpoints are only allowed for localhost. Metadata IP addresses (e.g. 169.254.x.x) are blocked.

Environment variables

If you prefer to keep your AWS API key out of the database, you can configure optional environment variable names for credentials (e.g. AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY). When set and present on the server, they take precedence over database-stored values and database stored values can be empty.

Bucket policy (required)

HumHub needs two kinds of S3 access.

  1. HumHub IAM user can read, write, and delete all objects under your configured prefix (private attachments, presigned downloads, connection tests).
  2. Anonymous public read applies only to branding/* and profile_image/* (logos, icons, profile pictures).

Apply a bucket policy like the one shown in Administration → Settings → HumHub S3 (adjust bucket, prefix, and IAM user ARN). Below is an example for bucket your-bucket, prefix humhub, and IAM user arn:aws:iam::123456789012:user/humhub-media.

Important. Remove any existing policy statements that explicitly deny s3:GetObject for your HumHub IAM user outside the public prefixes. AWS evaluates Deny before Allow. A broad or misplaced Deny will block private uploads, downloads, and presigned URLs even when Allow statements are present.

File module attachments are not exposed anonymously. Only the HumHub IAM user can read those keys. Adjust S3 Block Public Access so scoped public read on branding and profile images is permitted.

Upgrading from 1.x

Version 2.0 requires HumHub 1.18 or later. It removes the HumHub media proxy. After upgrading,

  1. Confirm HumHub is 1.18 or later. If not, stay on adrian-mid/humhub-s3 1.x.
  2. Add the bucket policy for branding/* and profile_image/* (see above).
  3. Remove any reverse-proxy or nginx rules pointing at the old media proxy path (/humhub-s3/media/serve or your custom Media Proxy Path).
  4. Verify branding and profile images load from S3 URLs in the browser.
  5. Verify private file downloads redirect to S3 after login.

Limitations

Uninstall

Disabling or removing the module reverts to local filesystem storage and deletes all module settings (including stored credentials). Ensure the queue or cron is running so the background job completes.

License

GPL-3.0-or-later. See LICENSE.

Changelog

See CHANGELOG.md.


All versions of humhub-s3 with dependencies

PHP Build Version
Package Version
Requires php Version >=8.0
ext-curl Version *
async-aws/s3 Version ^2.0
composer/installers Version ^2.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package adrian-mid/humhub-s3 contains the following files

Loading the files please wait ...