{"id":13819343,"url":"https://github.com/httptoolkit/docker-registry-facade","last_synced_at":"2025-02-27T22:24:08.661Z","repository":{"id":147934438,"uuid":"614837258","full_name":"httptoolkit/docker-registry-facade","owner":"httptoolkit","description":"A tiny self-hostable Docker Registry facade - own your image URL without running your own registry","archived":false,"fork":false,"pushed_at":"2023-03-20T11:49:41.000Z","size":30,"stargazers_count":50,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-21T01:11:15.768Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/httptoolkit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-03-16T12:26:44.000Z","updated_at":"2024-12-20T10:42:45.000Z","dependencies_parsed_at":"2023-05-28T01:00:40.691Z","dependency_job_id":null,"html_url":"https://github.com/httptoolkit/docker-registry-facade","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/httptoolkit%2Fdocker-registry-facade","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/httptoolkit%2Fdocker-registry-facade/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/httptoolkit%2Fdocker-registry-facade/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/httptoolkit%2Fdocker-registry-facade/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/httptoolkit","download_url":"https://codeload.github.com/httptoolkit/docker-registry-facade/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241067858,"owners_count":19903906,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T08:00:45.498Z","updated_at":"2025-02-27T22:24:08.643Z","avatar_url":"https://github.com/httptoolkit.png","language":"Dockerfile","readme":"# Docker Registry Facade [![Build Status](https://github.com/httptoolkit/docker-registry-facade/workflows/CI/badge.svg)](https://github.com/httptoolkit/docker-registry-facade/actions) [![Pull from Docker Hub](https://img.shields.io/badge/Pull%20from-Docker%20Hub-0db7ed)](https://hub.docker.com/r/httptoolkit/docker-registry-facade) [![Pull from GitHub Container Registry](https://img.shields.io/badge/Pull%20from-GHCR-%23333)](https://ghcr.io/httptoolkit/docker-registry-facade)\n\n\u003e _Part of [HTTP Toolkit](https://httptoolkit.com): powerful tools for building, testing \u0026 debugging HTTP(S)_\n\nA tiny self-hostable Docker Registry facade - own your registry URL without running your own registry (there's more details about how this works in [the blog post](https://httptoolkit.com/blog/docker-image-registry-facade/)).\n\nThis is intended to help organizations publishing images mitigate the upcoming Dockerpocalypse by:\n\n* Allowing immediate migration to a self-controlled registry URL now, while still using Docker Hub as the backend temporarily.\n* Ensuring that organizations control their own image URLs, so they can migrate registries in future without risking the same issues.\n\n## How to run this\n\nTo test this out locally, try this:\n\n```\ndocker run \\\n    -e'REGISTRY_HOST=registry.hub.docker.com' \\\n    -p443:443 \\\n    ghcr.io/httptoolkit/docker-registry-facade\n```\n\nand then pull from it, e.g. with:\n\n```\ndocker pull localhost/httptoolkit/docker-registry-facade\n```\n\nRemember that when specifying a registry explicitly like this, non-namespaced images that work automatically with Docker Hub, like `nginx` and `busybox`, need to be referenced fully in the `library` namespace, e.g. `docker pull localhost/library/busybox`.\n\nTo configure this further, you can set the following environment variables:\n\n* `REGISTRY_HOST` (required): the hostname of the target registry, e.g. `registry.hub.docker.com`\n* `REGISTRY_ORG`: the org on the target registry which should be supported. If specified, only images from this organization will be accessible. If not, this facade will be usable to pull all images from any organization.\n* `ADDRESS`: the address that the container should listen on. This must be a [Caddyfile address](https://caddyserver.com/docs/caddyfile/concepts#addresses) (the default is `*`, which implies HTTPS on port 443).\n* `CACHE_TIMEOUT`: the redirects that this image serves come with cache headers to try \u0026 limit unnecessary requests. The default timeout is 1 day, but you can reduce it by specifying a number of seconds here.","funding_links":[],"categories":["others"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhttptoolkit%2Fdocker-registry-facade","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhttptoolkit%2Fdocker-registry-facade","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhttptoolkit%2Fdocker-registry-facade/lists"}