imjasonh/kontain.me

Container image registry that serves images built fresh when you ask for them

247

stars

289

commits

Go

primary language

Aug 9, 2026

updated

build
containers
jit

README

kontain.me

CI Deploy

Serving container images generated on-demand, at the time they are requested.

These include:

This repo also serves a few non-registry oddities:

Caveats

  • The registry does not accept pushes.
  • This is a silly hack and probably isn't stable. Don't rely on it for anything serious.
  • It could probably do a lot of smart things to be a lot faster. 🤷
  • Blobs and manifests are cached for 24 hours wherever possible, but will be rebuilt from scratch after that time.

How it works

The service is built on Google Cloud Run.

When the service receives a request for an image manifest, it parses the request and generates layers for the requested image, writing the manifest and blobs to Google Cloud Storage. After it receives the manifest, docker pull fetches the blobs. The app simply redirects to Cloud Storage to serve manifests and blobs.

Contributors

imjasonh

270 commits

dependabot[bot]

17 commits

claude

2 commits

imjasonh/kontain.me

Container image registry that serves images built fresh when you ask for them

247

stars

289

commits

Go

primary language

Aug 9, 2026

updated

build
containers
jit

README

kontain.me

CI Deploy

Serving container images generated on-demand, at the time they are requested.

These include:

This repo also serves a few non-registry oddities:

Caveats

  • The registry does not accept pushes.
  • This is a silly hack and probably isn't stable. Don't rely on it for anything serious.
  • It could probably do a lot of smart things to be a lot faster. 🤷
  • Blobs and manifests are cached for 24 hours wherever possible, but will be rebuilt from scratch after that time.

How it works

The service is built on Google Cloud Run.

When the service receives a request for an image manifest, it parses the request and generates layers for the requested image, writing the manifest and blobs to Google Cloud Storage. After it receives the manifest, docker pull fetches the blobs. The app simply redirects to Cloud Storage to serve manifests and blobs.

Contributors

imjasonh

270 commits

dependabot[bot]

17 commits

claude

2 commits

Languages

Go

91.5%

HCL

5.5%

Shell

2.2%