Skip to main content

Enabling GitHub Packages with AWS

Set up GitHub Packages with AWS as your external storage.

Warning

  • It is critical that you configure any restrictive access policies you need for your storage bucket, because GitHub does not apply specific object permissions or additional access control lists (ACLs) to your storage bucket configuration. For example, if you make your bucket public, data in the bucket will be accessible to the public internet. For more information, see Setting bucket and object access permissions in the AWS Documentation. If restrictions by IP address have been set up, please include IP addresses for your GitHub Enterprise Server instance and the end users who will be using the your GitHub Enterprise Server instance.
  • We recommend using a dedicated bucket for GitHub Packages, separate from the bucket you use for GitHub Actions storage.
  • Make sure to configure the bucket you'll want to use in the future. We do not recommend changing your storage after you start using GitHub Packages.

Prerequisites

Before you can enable and configure GitHub Packages on your GitHub Enterprise Server instance, you need to prepare your AWS storage bucket. To prepare your AWS storage bucket, we recommend consulting the official AWS docs at AWS Documentation.

Ensure your AWS access key ID and secret have the following permissions:

  • s3:PutObject
  • s3:GetObject
  • s3:ListBucketMultipartUploads
  • s3:ListMultipartUploadParts
  • s3:AbortMultipartUpload
  • s3:DeleteObject
  • s3:ListBucket

Enabling GitHub Packages with AWS external storage

  1. From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .

  2. If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.

  3. In the " Site admin" sidebar, click Management Console.

  4. In the left sidebar, click Packages.

  5. Under "GitHub Packages", select the Enable GitHub Packages checkbox.

  6. Under "Packages Storage", select Amazon S3 and enter your storage bucket's details:

    • AWS Service URL: The service URL for your bucket. For example, if your S3 bucket was created in the us-west-2 region, this value should be https://s3.us-west-2.amazonaws.com.

      For more information, see AWS service endpoints in the AWS documentation.

    • AWS S3 Bucket: The name of your S3 bucket dedicated to GitHub Packages.

    • AWS S3 Access Key and AWS S3 Secret Key: The AWS access key ID and secret key to access your bucket.

      For more information on managing AWS access keys, see the AWS Identity and Access Management Documentation.

  7. Under the "Settings" sidebar, click Save settings.

    Note

    Saving settings in the Management Console restarts system services, which could result in user-visible downtime.

  8. Wait for the configuration run to complete.

Next steps

As a next step, you can customize which package ecosystems you would like to make available to end users on GitHub. For more information, see "Configuring package ecosystem support for your enterprise."

For an overview of getting started with GitHub Packages on GitHub, see "Getting started with GitHub Packages for your enterprise."