Portainer Registry Integration


Is there a way to connect to the CodeFresh Docker Registry via Portainer? I would like to be able to pull images and deploy the containers through the UI of Portainer, instead of the cli. The Portainer UI looks like this:

Best wishes,

1 Like

It depends on what api capabilities Portainer requires. The Codefresh registry api doesn’t support searching for example. But other than that, I would try adding it as a normal registry. https://codefresh.io/docs/docs/docker-registries/codefresh-registry/#pull-image-from-codefresh-registry

The much more common flow is to have Codefresh promoting these images to a registry you want to use for production.

Thanks @todaywasawesome, that is very useful and I could indeed use Codefresh to promote that image to another registry from which I can later pull it into Portainer. I tried, for example, to promote my image to Canister.io and then then use Portainer to pull the image from Canister.io and that seems to work fine.

However, my question was mostly focused on the correct credentials and registry URL etc. that I should use on Portainer, in order to connect Portainer to the Codefresh registry. I don’t need special capabilities like searching etc. I just need to pull the images from within Portainer, which Portainer seems to support from various private registries. It seems like an overkill to have to promote the image to another registry.

Thanks again for your help,

Credentials should be like this

I think this process should work out of the box. Did you get an error message?

1 Like

Thanks for the prompt reply @Kostis.

That’s what I also tried, but unfortunately it doesn’t work. I receive the following error message:


Get https://r.cfcr.io/v2/michalisvitos/michalisvitos/test/manifests/latest: denied: {"errors":[{"code":"UNAUTHORIZED","message":"authentication required"}]}

Try using as Registry URL just r.cfcr.io on its own.

I just tried it and it works. From your error message you see that the URL you are trying to pull has your username twice (which is probably not what you want)

That seems to do the trick! Thanks @Kostis!