Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

composer-aws (ABANDONED)

A composer plugin to load repository data and download packages from Amazon S3 with authentication support for private repositories.

Using AWS S3 to host private packages? Check out Private Packagist for a better private Composer repository solution!

This project has been abandoned and will not support Composer 2.0. If you are currently relying on this plugin to download packages from S3, you should consider using Private Packagist to manage your private packages.


Global scope (per user) installation

$ composer global require "naderman/composer-aws:^1.0"

Project scope installation

$ composer require "naderman/composer-aws:^1.0"


There are three options available in order to configure and use this plugin:

  1. For AWS EC2: Create an IAM profile for your instances to access the bucket - then no other configuration is necessary.
  2. Set the environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
  3. Add the following to your config.json (in $COMPOSER_HOME):
    "config": {
        "amazon-aws": {
            "credentials": {
                "key": "your aws access key",
                "secret": "your aws secret"


Once the plugin is installed and configured, you can transparently use packages.json files which contain s3:// schemes for dist urls.

Loading package repositories from AWS S3

If you want to host a packages.json repository on S3 (e.g. generated by satis), you can use an S3 bucket for the repository url as well.

    "repositories": [
            "type": "composer",
            "url": "s3://my-S3-bucket/my/packages/repository/path/"

Further reading