-
Although using a own subdomain for the registry would be a better approach, it is sufficient to use another port as described here.
Guide what has to be edited can be found --> https://dev.to/zaptic/how-to-gitlab-and-docker-registry-2moh
Edit: Full package documentation --> https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/administration/packages/container_registry.md
-
Trying to understand what kind of deployment people are interested in:
-
Registry stores the images locally on the server itself. If so, we have to figure out how this will get backed up. Is there an interest in backing these things up or are people OK if these container images are "lost" (maybe since it's only used for building things in CI/CD).
-
Registry is in another non-cloudron server. My understanding is this deployment is already possible but I have to try.
-
Some external service is used as registry (for example, DO recently announced it's managed docker registry). Not sure if GitLab supports this.
-
-
The reason for my private docker registry: I want to keep my things on my own infrastructure and not somewhere public on docker hub. That's why I'm currently running my own docker registry from where I push the images to my cloudrons.
I migrated most of my custom apps to official cloudron apps (used to do custom WordPress and LAMPs for various reasons and some apps made it to the store), so only a few that aren't released yet (and some probably never will) are left, but those need to be available at all times - did a cloudron version update the other day and realized that the ssl cert of the registry needed a refresh, else the apps couldn't get reconfigured and would be in an erronous state. Would be nice to have a solution on some dev cloudron which handles those images so I don't have to run that single vm with the docker registry.
-
@girish mainly I just want an all-in-one solution that works out of the box. Since registry comes (in most cases) bundled with Gitlab itself, this should be no problem. A crucial thing to look into would be container registry garbage collection since registry data can pile up easily. Basically it would be totally okay if the registry data were saved and backed up on the server itself. For small environments this would be fine and If you run a larger Gitlab instance you should be prepared anyways.
If Gitlab Registry is a seperate service, you could already use Cloudrons ability to configure backup bevavior and storage location. This would be nice for some use cases but not a basic requirement.
PS: For external/cloud storage you could already use MinIO which is available on Cloudron ^^
-
I went down the container registry rabbit hole. In the end, it seems that it provides gitlab's authentication layer for the docker registry i.e users/groups/projects have same permissions in the registry as of gitlab. It has a limitation that the registry and the gitlab have to be on the same server. There is some strange path sharing requirement that I don't completely understand - https://docs.gitlab.com/ce/administration/packages/container_registry.html#use-file-system
I think an alternate approach is get Harbor working. It looks simple enough to deploy since it's a Go app and also has LDAP. This will then work with GitLab CI/CD (nice article). This won't bring in gitlab's auth into the registry though. Are people looking for something like that? (it seems something for big enterprises).
-
@girish I definitely have a use case for this despite not being a super-huge enterprise, which is why I'm trying to get it done. And I will - it's just a matter of time
I'm not against Harbor, etc. but I do need this to work which is why I'm on it
-
-
Need Help: Has anyone enabled container registry in the cloudron gitlab, I'm getting error 500 when making changes to the gitlab.yml file.
registry: enabled: true host: registry.git.arsh.dev port: 5005 api_url: http://localhost:5000/ # internal address to the registry, will be used by GitLab to directly communicate with API key: config/registry.key path: shared/registry issuer: gitlab-issuer
-
@arshsahzad said in Gitlab how to run container registry:
I'm getting error 500 when making changes to the gitlab.yml file
This most likely means there is an error in the yml syntax. What error do you see in the logs ? You will find more logs in /run/gitlab (via web terminal).
-
@arshsahzad Have you seen https://docs.cloudron.io/apps/docker-registry/#gitlab-integration already ?