This version of GitHub Enterprise was discontinued on 2021-09-23. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Enabling GitHub Packages with MinIO

Set up GitHub Packages with MinIO as your external storage.

Warnings:

  • It is critical that you set the 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 on the public internet.
  • 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 MinIO storage bucket. To help you quickly set up a MinIO bucket and navigate MinIO's customization options, see the "[Quickstart for configuring your MinIO storage bucket for GitHub Packages](/admin/packages/quickstart-for-configuring-your-minio-storage-bucket-for-github-packages)."

Ensure your MinIO external storage access key ID and secret have these permissions:

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

Enabling GitHub Packages with MinIO external storage

Although MinIO does not currently appear in the user interface under "Package Storage", MinIO is still officially supported by GitHub Packages on GitHub Enterprise. Also, note that MinIO's object storage is compatible with the S3 API and you can enter MinIO's bucket details in place of AWS S3 details.

  1. From an administrative account on GitHub Enterprise Server, click in the upper-right corner of any page. Rocketship icon for accessing site admin settings

  2. In the left sidebar, click Management Console. Management Console tab in the left sidebar

  3. In the left sidebar, click Packages. Packages tab in management console sidebar

  4. Under "AWS Service URL", type the MinIO URL for your bucket's region. AWS Service URL field

  5. Under "AWS S3 Bucket", type the name of the MinIO bucket you want to use to store package artifacts. AWS S3 Bucket field

  6. Under "AWS S3 Access Key", type your access key for MinIO. AWS S3 Access Key field

  7. Under "AWS S3 Secret Key", type your secret key for MinIO. AWS S3 Secret Key field

  8. Under "AWS S3 Region", type your region for MinIO. AWS S3 Region field

  9. Under the left sidebar, click Save settings. The Save settings button in the Management Console

  10. 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 your GitHub Enterprise Server instance. 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."