About Paquetes de GitHub
Paquetes de GitHub is a platform for hosting and managing packages, including containers and other dependencies. Paquetes de GitHub combines your source code and packages in one place to provide integrated permissions management and billing, so you can centralize your software development on GitHub.
You can integrate Paquetes de GitHub with GitHub APIs, GitHub Actions, and webhooks to create an end-to-end DevOps workflow that includes your code, CI, and deployment solutions.
Paquetes de GitHub offers different package registries for commonly used package managers, such as npm, RubyGems, Apache Maven, Gradle, Docker, and NuGet. GitHub's container registry is optimized for containers and supports Docker and OCI images. For more information on the different package registries that Paquetes de GitHub supports, see "Working with a Paquetes de GitHub registry."

You can view a package's README, as well as metadata such as licensing, download statistics, version history, and more on GitHub. For more information, see "Viewing packages."
Overview of package permissions and visibility
| Permissions | The permissions for a package are either inherited from the repository where the package is hosted or, for packages in the container registry, they can be defined for specific user or organization accounts. For more information, see "Configuring a package’s access control and visibility." |
| Visibility | Puedes publicar paquetes en un repositorio público (paquetes públicos) para compartir con todo GitHub, o en un repositorio privado (paquetes privados) para compartirlos con colaboradores o con una organización. |
For more information, see "About permissions for Paquetes de GitHub."
About billing for Paquetes de GitHub
El uso de Paquetes de GitHub es gratuito para los paquetes públicos. Para los paquetes privados, cada cuenta de GitHub recibe una cantidad determinada de almacenamiento gratuito y de transferencia de datos, dependiendo del producto que se utilice en la cuenta. Predeterminadamente, tu cuenta tendrá un límite de gastos de $0, lo cual previene el uso adicional de almacenamiento o transferencia de datos después de que alcanzas el límite de las cantidades incluidas. Si incrementas tu límite de gastos por encima del $0 predeterminado, se te cobrará por cualquier almacenamiento o transferencia de datos extra, también llamados excedentes, hasta el tope del límite de gastos que hayas configurado. No podrán aplicarse los cupones que tenga tu cuenta para los excedentes de Paquetes de GitHub. If you are a monthly-billed customer, your account will have a default spending limit of 0 US dollars (USD), which prevents additional usage of storage or data transfer after you reach the included amounts. If you pay your account by invoice, your account will have an unlimited default spending limit. For more information, see "About billing for Paquetes de GitHub."
Supported clients and formats
Paquetes de GitHub uses the native package tooling commands you're already familiar with to publish and install package versions.
Support for package registries
| Language | Description | Package format | Package client |
|---|---|---|---|
| JavaScript | Node package manager | package.json | npm |
| Ruby | RubyGems package manager | Gemfile | gem |
| Java | Apache Maven project management and comprehension tool | pom.xml | mvn |
| Java | Gradle build automation tool for Java | build.gradle or build.gradle.kts | gradle |
| .NET | NuGet package management for .NET | nupkg | dotnet CLI |
| N/A | Docker container management | Dockerfile | Docker |
For more information about configuring your package client for use with Paquetes de GitHub, see "Working with a Paquetes de GitHub registry."
For more information about Docker and the container registry, see "Working with the Container registry."
Authenticating to Paquetes de GitHub
Necesitas de un token de acceso para publicar, instalar, y borrar paquetes en Paquetes de GitHub. Puedes utilizar un token de acceso personal para autenticarte con tu nombre de usuario directamente en Paquetes de GitHub o en la API de GitHub. Cuando creas un token de acceso personal, puedes asignar al token diferentes ámbitos en función de tus necesidades.
To authenticate using a GitHub Actions workflow:
- For package registries (
PACKAGE-REGISTRY.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME), you can use aGITHUB_TOKEN. - For the container registry (
ghcr.io/OWNER/IMAGE-NAME), you must use a personal access token.
For more information about GITHUB_TOKEN used in GitHub Actions workflows, see "Authentication in a workflow."
Managing packages
You can delete a package in the GitHub user interface or using the REST API. For more information, see the "Paquetes de GitHub API."
When you use the GraphQL API to query and delete private packages, you must use the same token you use to authenticate to Paquetes de GitHub. For more information, see "Deleting and restoring a package" and "Forming calls with GraphQL."
You can configure webhooks to subscribe to package-related events, such as when a package is published or updated. For more information, see the "package webhook event."
Contacting support
If you have feedback or feature requests for Paquetes de GitHub, use the feedback form for Paquetes de GitHub.
Contact Soporte de GitHub about Paquetes de GitHub using our contact form if:
- You experience anything that contradicts the documentation
- You encounter vague or unclear errors
- Your published package contains sensitive data, such as GDPR violations, API Keys, or personally identifying information