Skip to main content

Overview

GitLab Container Registry is a secure container image registry integrated with GitLab repositories and CI/CD pipelines. It’s included with both GitLab.com and self-hosted GitLab instances.

Registry URL

GitLab.com:
https://registry.gitlab.com
Self-hosted GitLab:
https://gitlab.example.com:5050

Image Format

registry.gitlab.com/<group>/<project>/<image-name>:<tag>
Examples:
  • registry.gitlab.com/mycompany/api:latest
  • registry.gitlab.com/team/project/frontend:v1.2.3

Authentication

GitLab Container Registry uses GitLab Personal Access Tokens or Deploy Tokens for authentication. Required Scopes:
  • read_registry - Pull images
  • write_registry - Push images (if needed)

Deploy Token

Deploy tokens can be created at project or group level for read-only or read-write access.

Configuration in Qovery

1

Create Personal Access Token

  1. Go to GitLab → User SettingsAccess Tokens
  2. Enter token name (e.g., “Qovery Registry Access”)
  3. Select expiration date
  4. Select required scopes:
    • read_registry
    • write_registry (if pushing images)
  5. Click Create personal access token
  6. Copy the token immediately
GitLab shows the token only once. Save it securely.
2

Access Organization Settings

Navigate to Organization SettingsContainer Registries in Qovery
3

Add Registry

Click Add Registry
4

Select GitLab Container Registry

Choose GitLab Container Registry from the registry type dropdown
5

Enter Registry URL

  • For GitLab.com: https://registry.gitlab.com
  • For self-hosted: https://your-gitlab-instance:5050
6

Enter Credentials

Provide:
  • Username: Your GitLab username
  • Password: Personal Access Token or Deploy Token
7

Save

Qovery will verify the credentials and save the configuration

Using Deploy Tokens

Deploy tokens are ideal for production deployments:
1

Create Deploy Token

  1. Navigate to your GitLab project or group
  2. Go to SettingsRepositoryDeploy Tokens
  3. Enter token name and expiration (optional)
  4. Select scopes:
    • read_registry
  5. Click Create deploy token
  6. Copy username and token
2

Use in Qovery

Enter the deploy token username and token as credentials

Self-Hosted GitLab

For self-hosted GitLab instances:
  • Ensure the registry is enabled in GitLab configuration
  • Use the correct registry URL (typically https://<gitlab-host>:5050)
  • Verify SSL/TLS certificates are properly configured
  • Ensure Qovery can reach your GitLab instance

Integration with GitLab CI/CD

GitLab Container Registry integrates seamlessly with GitLab CI/CD:
docker-build:
  stage: build
  image: docker:latest
  services:
    - docker:dind
  script:
    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
    - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA