gitwtfhub

wtf is hubproxy?

787a68/hubproxy — explained in plain English

Analysis updated 2026-05-18

16GoAudience · ops devopsComplexity · 3/5LicenseSetup · moderate

TL;DR

A self-hosted proxy that speeds up and mirrors downloads from Docker Hub, GitHub, and Hugging Face, with rate limiting and access control built in.

Mindmap

Mindmap is still cooking. Refresh in a few.

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Speed up docker pull commands by mirroring Docker Hub, GHCR, GCR, and Quay through your own proxy.

REASON 2

Download GitHub release assets, raw files, or clone repositories through a faster relay.

REASON 3

Export a batch of Docker images as offline tar files for machines without internet access.

REASON 4

Accelerate downloading Hugging Face AI model files.

What's in the stack?

GoDockerTOMLPrometheus

How it stacks up

787a68/hubproxyb404dev/gitm8hadihonarvar/flock
Stars161616
LanguageGoGoGo
Setup difficultymoderateeasymoderate
Complexity3/52/54/5
Audienceops devopsdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Needs a server with a domain name to reverse proxy through, plus Docker or a binary install, default config is in src/config.toml.

MIT license: free to use, modify, and redistribute, including commercially, as long as you keep the copyright notice.

Wtf does this do

HubProxy is a self-hosted proxy server that speeds up downloads from Docker Hub, GitHub, and Hugging Face, which is useful in places where direct connections to those services are slow or unreliable. You run it on your own server, point your traffic at it, and it fetches and forwards the files on your behalf, acting as a shortcut in front of the original source. For Docker, it can mirror images from Docker Hub as well as other registries like GHCR, GCR, Quay, and Kubernetes' own registry, so a normal docker pull command can go through your proxy instead of hitting those services directly. It can also export images as offline tar files, either one at a time or in a batch, letting you download a set of images to move onto machines without internet access. For GitHub, it proxies file downloads including release assets, raw files, repository archives, API calls, and even git clone operations. For Hugging Face, it speeds up downloading AI model files. Other features include a search endpoint for looking up Docker Hub images and their available tags and architectures, configurable rate limiting per IP address or IP range, and a wildcard based allow list and block list for controlling which images or GitHub repositories can be proxied. It also exposes a health check endpoint and Prometheus formatted metrics for monitoring. You can run it as a single binary installed with a shell script, as a Docker container, or with Docker Compose. Configuration is set through a TOML file, and nearly every setting can also be overridden with an environment variable. The project builds on an earlier open source project by a different author and is released under the MIT license, meaning it is free to use, modify, and redistribute, including commercially.

Yoink these prompts

Prompt 1
Walk me through deploying HubProxy with Docker Compose and pointing docker pull at it.
Prompt 2
Explain how to set up rate limiting rules using HubProxy's IP_LIMITS configuration.
Prompt 3
Help me configure a wildcard whitelist so only specific GitHub repos can be proxied.
Prompt 4
How do I export a batch of Docker images as offline tar files using HubProxy's API?
Prompt 5
Compare HubProxy's registry mirroring approach to setting Docker's built-in registry-mirrors option.

Frequently asked questions

wtf is hubproxy?

A self-hosted proxy that speeds up and mirrors downloads from Docker Hub, GitHub, and Hugging Face, with rate limiting and access control built in.

What language is hubproxy written in?

Mainly Go. The stack also includes Go, Docker, TOML.

What license does hubproxy use?

MIT license: free to use, modify, and redistribute, including commercially, as long as you keep the copyright notice.

How hard is hubproxy to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is hubproxy for?

Mainly ops devops.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.