Advanced

Libraries

Share your own packages and Docker images via your project's private GitLab registries.

On this page

Besides apps, homepages, and backends, a project can also contain package repositories – for code you want to reuse across multiple applications.

Available package types

When creating a package repository, you choose the type:

Type Published to
Flutter/Dart package GitLab Package Registry
NPM package GitLab NPM Registry
PyPI package GitLab PyPI Registry
Docker image GitLab Container Registry
Go package directly from the repository (GitLab Go proxy)

All registries are private and belong to your GitLab – only members of your projects can use the packages.

How it works

  1. Create the package repository when creating or editing a project (component Package).
  2. Develop your package as usual – the repository comes with a ready-made CI/CD pipeline.
  3. On merge to main, the pipeline versions and publishes the package to the matching registry.
  4. In your apps and backends you include the package via the private registry.
Note
Automatic publishing for Dart packages is still in preparation – NPM, PyPI, Docker, and Go already work via the GitLab registries.

See also