Setting Up Gitlab container Registry on own Domain.

GitLab Container Registry is a secure and private registry for Docker images integrated completely in Gitlab. In this tutorial we will setup and use GitLab Container Registry. If you're using previous versions of Gitlab upgrade and then follow this tutorial.

SSL Certificate - Eventhough docker may support unsecured private registries(self signed SSL Certifcates and http registy URL's). GitLab seems to accept only "https" in url of registry. as when i tried to use http in URL it throw me the following error

  RuntimeError
  ------------
  Unsupported GitLab Registry external URL scheme: http

you can use self signed certificates or use letsencypt's certbot(which is opensource certyfing tool).

Using Certbot

To use certbot stop any webservers you may be runnng(like nginx, apache). Ensure DNS Mapping is pointing to correct server and run following commands

git clone https://github.com/certbot/certbot
cd certbot
./certbot-auto certonly --standalone -d <domain-name>

you will be asked to enter an email for identity and recovery and your cert and key will be available in 

certificate -  /etc/letsencrypt/live/<domain-name>/fullchain.pem;
certificate_key - /etc/letsencrypt/live/<domain-name>/privkey.pem;

Modifying /etc/gitlab/gitlab.rb file: 

registry_external_url 'https://<domain/sub-domain name>'
registry_nginx['ssl_certificate'] = <location-to-certificate>
registry_nginx['ssl_certificate_key'] = <location-to-certificate-key>

Reconfigure GitLab

sudo gitlab-ctl reconfigure

Then under every Project Menu will have a Tab "Container Registry" which points to Projects Docker Image Container.

Posted On 26 May 2016 By MicroPyramid


Need any Help in your Project?Let's Talk

Latest Comments
Related Articles
Configuring WordPress Blog as sub-directory alongside Django in Nginx

Using regular expressions within Nginx we can bind urls to particular application servers, below we will configure wordpress blog and django site to be deployed ...

Continue Reading...
Elastic Search Security Measures

After Installing Elastic Search in production, many new developers leave it unconfigured. In this Post, we will look into important config file changes and its ...

Continue Reading...
Gitlab and Docker - Continuous Integration, Deployment and Continuous Delivery

In this blog post, we will learn how to setup and use gitlab container registry to implement, test build and deploy your code automatically with ...

Continue Reading...
open source packages

Subscribe To our news letter

Subscribe and Stay Updated about our Webinars, news and articles on Django, Python, Machine Learning, Amazon Web Services, DevOps, Salesforce, ReactJS, AngularJS, React Native.
* We don't provide your email contact details to any third parties