# cloudflare-docker-proxy
> ### ⚠️ **Important Notice**
> Docker Hub is rate-limiting Cloudflare Worker IPs, causing frequent 429 errors.
> This project is currently NOT recommended for production use.
Due to the current instability, this project is not recommended for production use.
We will provide updates as soon as more information becomes available.

[](https://deploy.workers.cloudflare.com/?url=https://github.com/ciiiii/cloudflare-docker-proxy)
> If you're looking for proxy for helm, maybe you can try [cloudflare-helm-proxy](https://github.com/ciiiii/cloudflare-helm-proxy).
## Deploy
1. click the "Deploy With Workers" button
2. follow the instructions to fork and deploy
3. update routes as you requirement
[](https://deploy.workers.cloudflare.com/?url=https://github.com/ciiiii/cloudflare-docker-proxy)
## Routes configuration tutorial
1. use cloudflare worker host: only support proxy one registry
```javascript
const routes = {
"${workername}.${username}.workers.dev/": "https://registry-1.docker.io",
};
```
2. use custom domain: support proxy multiple registries route by host
- host your domain DNS on cloudflare
- add `A` record of xxx.example.com to `192.0.2.1`
- deploy this project to cloudflare workers
- add `xxx.example.com/*` to HTTP routes of workers
- add more records and modify the config as you need
```javascript
const routes = {
"docker.libcuda.so": "https://registry-1.docker.io",
"quay.libcuda.so": "https://quay.io",
"gcr.libcuda.so": "https://k8s.gcr.io",
"k8s-gcr.libcuda.so": "https://k8s.gcr.io",
"ghcr.libcuda.so": "https://ghcr.io",
};
```