Enabling GitHub Packages with MinIO

Set up GitHub Packages with MinIO as your external storage.


  • 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.
### Vorrausetzungen Before you can enable and configure GitHub Packages on Ihre GitHub Enterprise Server-Instanz, 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. Raumschiffsymbol für den Zugriff auf die Einstellungen des Websiteadministrators

  2. Klicke auf der linken Seitenleiste auf Managementkonsole. Registerkarte „Managementkonsole" in der linken Seitenleiste

  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. Klicke auf der linken Seitenleiste auf Save settings (Einstellungen speichern). Die Schaltfläche „Save settings“ (Einstellungen speichern) in der Managementkonsole

  10. Warten Sie auf den Abschluss der Konfigurationsausführung.

Nächste Schritte:

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

Did this doc help you?Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Oder, learn how to contribute.