Skip to main content

This version of GitHub Enterprise was discontinued on 2023-01-18. 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."

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 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, in the upper-right corner of any page, click .

    Screenshot of the rocket ship icon for accessing site admin settings

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

    Screenshot of "Site admin" link

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

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

  5. Under "GitHub Packages", select Enable GitHub Packages. Checkbox to enable GitHub Packages from Enterprise Management Console menu

  1. Under "Packages Storage", select Amazon S3.

  2. Enter your MinIO storage bucket's details in the AWS storage settings.

    • AWS Service URL: The hosting URL for your MinIO bucket.
    • AWS S3 Bucket: The name of your S3-compatible MinIO bucket dedicated to GitHub Packages.
    • AWS S3 Access Key and AWS S3 Secret Key: Enter the MinIO access key ID and secret key to access your bucket.

    Entry boxes for your S3 AWS bucket's details

  3. Under the left sidebar, click Save settings.

    Screenshot of the save settings button in the Management Console

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

  4. Wait for the configuration run to complete.

    Configuring your instance

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."