{"repo":"cloudflare/serverless-registry","free":true,"listed":false,"github":"https://github.com/cloudflare/serverless-registry","clone":"git clone https://github.com/cloudflare/serverless-registry.git","description":"A container registry backed by Workers and R2.","language":"TypeScript","stars":1443,"topics":["artifacts","cloudflare","docker","docker-registry","javascript","r2","registry","typescript","workers","container"],"license":"Apache-2.0","category":"deployment-docker-iac","readme_excerpt":"Container Registry in Workers This repository contains a container registry implementation in Workers that uses R2. It supports all pushing and pulling workflows. It also supports Username/Password and public key JWT based authentication. Deployment You have to install all the dependencies with pnpm (other package managers may work, but only pnpm is supported.) After installation, there are a few steps to actually deploy the registry into production: 1. Create your own wrangler config file based on the example files in this repo. Cloudflare recommends wrangler.jsonc for new projects, but wrangler.toml is also supported. Pick whichever you prefer: 2. Setup the R2 Bucket for this registry Add this to your wrangler config file: 3. Deploy your image registry Your registry should be up and running. It will refuse any requests if you don't setup credentials. Adding username password based authentication Set the USERNAME and PASSWORD as secrets with npx wrangler secret put USERNAME --env production and npx wrangler secret put PASSWORD --env production . Adding JWT authentication with public key You can add a base64 encoded JWT public key to verify passwords (or token) that are signed by the private key. npx wrangler secret put JWT REGISTRY TOKENS PUBLIC KEY --env production Tokens are bound to a single registry. Every token must carry an aud claim naming the registry it is for, and a request is rejected with 401 unless aud matches the host it arrived on. createToken() sets this from","default_branch":null,"files":null,"tree":[],"storefront":"/r/cloudflare","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/cloudflare/serverless-registry/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}