This Docker Registry UI implementation was created with the idea in mind to have a simple view on huge Docker Registry with the possiblity to easily see how much storage is consumed by which repository. Therefore it is built with a little Python backend that handles the repository processing in order to store the amount of tags and their distinct sizes. We found out that it makes more sense to cache these values, rather than computing them on every request.
This Registry UI is built with the help of Sanic and React.
In order to install the backend components, execute
pip install -r requirements.txt
in the root folder.
In order to install the frontend components, execute:
npm start
in the frontend folder.
You can also package the application in a Docker container, the multi-stage Dockerfile in this repository will perform all the necessary steps.
docker build -t docker-registry .
The Registry UI can be started as follows:
python main.py --registry xxx [--username xxx] [--password xxx] [--cacert ./ca.crt] [--cli]
or:
docker run --rm -p 8000 registry-ui --registry xxx [--username xxx] [--password xxx] [--cacert ./ca.crt] [--cli]
- Clair integration
- Delete functionality
- RBAC
You may want to test the data agregation without serving a WebUI. For this reason you can start the application as follows: python main.py --registry xxx --cli=true