/deploy-ui

Primary LanguageTypeScript

Development

Run the frontend and backend separately:

$ cd client && yarn run start
$ cd backend && yarn run start

Deployment

Builds via Github Actions. A single container is built. The backend is also serving the JS files.

Work directly with the Registry API

This is useful for debugging:

IMAGE=library/redis
TAG=latest
TOKEN=$(curl -s "https://auth.docker.io/token?scope=repository:$IMAGE:pull&service=registry.docker.io" | jq -r .token)

curl -s -H"Accept: application/vnd.docker.distribution.manifest.v2+json" -H"Authorization: Bearer $TOKEN" "https://registry-1.docker.io/v2/$IMAGE/manifests/$TAG"

CONFIG_DIGEST=$(curl -s -H"Accept: application/vnd.docker.distribution.manifest.v2+json" -H"Authorization: Bearer $TOKEN" "https://registry-1.docker.io/v2/$IMAGE/manifests/$TAG" | jq -r .config.digest)
curl -sL -H"Authorization: Bearer $TOKEN" "https://registry-1.docker.io/v2/$IMAGE/blobs/$CONFIG_DIGEST"

Notes

The v2 registry requires a lot of calls to query the data we need (dates, labels), so we probably need to cache the data.

See for a discussion of these issues;

There seems to be private API just for docker hub:

https://github.com/RyanTheAllmighty/Docker-Hub-API (RyanTheAllmighty/Docker-Hub-API#23)

Other projects