Packages & Registries

The GitLab Package Registry acts as a private or public registry for a variety of common package managers. You can publish and share packages, which can be easily consumed as a dependency in downstream projects.

The Package Registry supports the following formats:

Package type GitLab version
Composer 13.2+
Conan 12.6+
Go 13.1+
Maven 11.3+
NPM 11.7+
NuGet 12.8+
PyPI 12.10+
Generic packages 13.5+

You can also use the API to administer the Package Registry.

The GitLab Container Registry is a secure and private registry for container images. It’s built on open source software and completely integrated within GitLab. Use GitLab CI/CD to create and publish images. Use the GitLab API to manage the registry across groups and projects.

The Dependency Proxy is a local proxy for frequently-used upstream images and packages.

Suggested contributions

Consider contributing to GitLab. This development documentation will guide you through the process. Or check out how other members of the community are adding support for PHP or Terraform.

Format Use case
Cargo Cargo is the Rust package manager. Build, publish and share Rust packages
Chef Configuration management with Chef using all the benefits of a repository manager.
CocoaPods Speed up development with Xcode and CocoaPods.
Conda Secure and private local Conda repositories.
CRAN Deploy and resolve CRAN packages for the R language.
Debian Host and provision Debian packages.
Opkg Optimize your work with OpenWrt using Opkg repositories.
P2 Host all your Eclipse plugins in your own GitLab P2 repository.
Puppet Configuration management meets repository management with Puppet repositories.
RPM Distribute RPMs directly from GitLab.
RubyGems Use GitLab to host your own gems.
SBT Resolve dependencies from and deploy build output to SBT repositories when running SBT builds.
Vagrant Securely host your Vagrant boxes in local repositories.