Publish Docker Images to Additional Registries (e.g., ghcr.io) Due to Docker Hub Rate Limits
What motivated this proposal?
Currently, NACKs' container images are only available on Docker Hub. However, with Docker Hub enforcing stricter rate-limits, it could be beneficial to publish images to other registries, such as ghcr.io or ECR Public.
This would help avoid issues related to rate-limits and provide more flexibility for users.
What is the proposed change?
In release pipelines, push container images to ghcr.io as well. With this change we will be able to pull the container at the following URIs:
- ghcr.io/nats-io/nats-server-config-reloader
- ghcr.io/nats-io/jetstream-controller
- ghcr.io/nats-io/nats-boot-config
Who benefits from this change?
NACK users without Docker Hub subscriptions.
What alternatives have you evaluated?
Certainly, while users can avoid the pull rate limit by pushing container images to their own repository or utilizing pull-through cache, I believe that addressing this at the upstream level would be the most effective solution.
Thanks for creating the issue.
Yes, we are considering adopting some alternatives. Stay tuned.
@Jarema Thank you! We’ll be facing strict rate limits starting on November 15, so it would be really helpful if you could prioritize this issue. Alternatively, I’m willing to contribute.
Thank you for signing up to help, but that requires us to setup the registries.
@Jarema Thank you for your response!
FYI: If we use GHCR, it actually requires minimal setup. We can simply push container images to ghcr.io/nats-io/<name> with permissions packages: write, and they’ll be publicly accessible.