Specifications for private Docker Container Registry Secrets
Koyeb allows you to easily deploy an app using Docker containers.
Koyeb supports the deployment of containers hosted on any Private Docker Registry. This
lets you build containers with your continuous delivery pipeline and host them
on a secure private registry to protect your intellectual property.
We provide an easy-to-use form in the app and service creation views to automatically create a secret with the right format.
The form supports:
Azure Container Registry (ACR)
DockerHub Private repositories
DigitalOcean Container Registry
GCP Container Registry
GitHub Container Registry (ghcr.io)
GitLab Container Registry
If you're using one the above registries, you probably don't need this
documentation. Simply use the form embedded in the web interface.
Refer to how to deploy
containers for generic instructions
about app deployment from containers.
In this guide, we explain how to manually create secrets containing Private Registries
credentials.
The Koyeb registry Secret format
To use a private registry, the Koyeb platform needs to be able to access the registry and you will need to create a
secret with the login information for your registry. You will then reference the
registry secret when you deploy your Service. The secret creation described below is
automatically done when you use the form embedded in the web interface.
The Secret needs to contain a JSON with the right parameters for your registry:
The my.docker.registry.io string should be replaced by your registry URL.
The YOUR_TOKEN string is an authentication string which is the
output of echo -n "USERNAME:TOKEN" | base64 where USERNAME and TOKEN
should be replaced by your registry credentials.
In both cases, the Secrets will be encrypted server-side by Koyeb.
Provider specific instructions
The Koyeb implementation is compatible with any Docker compatible registry. We provided some details on how to implement it for some major Registry
Providers:
Then simply log in, build, and push your container. Do not forget to replace
PERSONAL_TOKEN and GITHUB_USERNAME with your own token and GitHub username.