English | 简体中文
A Docker Hub mirror proxy based on Traefik + Nginx + Docker Registry 2.0.
- Traefik: Auto HTTPS certificate provisioning
- Lightweight: No image storage, real-time proxy forwarding
- Auth: htpasswd user authentication
- Anti-abuse: Rate limiting
- Read-only: Pull only, push disabled
- Auto
library/: Official images work withoutlibrary/prefix - Configurable: via
.envfile
Client → Traefik (HTTPS) → Nginx (Rate Limit) → Registry:2 (Proxy) → Docker Hub
- Docker & Docker Compose
- A running Traefik instance (required)
- Domain DNS pointed to your server
cd /path/to/docker-registry-proxy./manage-users.sh add usernamecp .env.example .envEdit .env:
REGISTRY_DOMAIN=docker-proxy.yourdomain.com
TRAEFIK_NETWORK=traefik-net
TRAEFIK_CERTRESOLVER=letsencrypt
TRAEFIK_ENTRYPOINT=websecuredocker-compose up -ddocker login docker.yourdomain.com# Official images — no library/ prefix needed
docker pull docker.yourdomain.com/alpine:latest
docker pull docker.yourdomain.com/nginx:alpine
# Third-party images
docker pull docker.yourdomain.com/bitnami/nginx:latest./manage-users.sh add username # Add user
./manage-users.sh delete username # Delete user
./manage-users.sh list # List users
./manage-users.sh change username # Change passwordEdit config/registry-config.yml:
proxy:
remoteurl: https://gcr.io # or ghcr.io, quay.io, etcThen restart:
docker-compose restart registry