One of the winning factors of Docker is the Docker Hub. This the a place where the Docker community shares their images. Thanks to Docker's integrated build system it is possible to create new Docker images by just extending an existing one. That's why the Docker Hub is so useful.
The Docker Hub is made by two tools: * the web ui: this is closed source, * the backend: this is where all the image data is sent and stored. This is an open source project.
It is not possible to recreate the "Docker Hub experience" on premise. You can run the registry internally, but you won't have a UI to list all the images available on it and, most important of all, you won't be able to have any form of authentication. That happens because the authentication is part of the UI component. The open source registry can still use the Docker Hub servers to perform user authentication, but that still suboptimal.
The goal of this project is to have a web application that can be used to: * Manage user groups: add, delete and modify them. * Manage users: add, delete and modify them. Add and remove them from groups. * Manage permissions of the images stored inside of it (e.g.: image X can be downloaded by everyone but only members of group A can modify it, image Y can be seen and downloaded only by users of group B,...). * List the images pushed to the registry.
The communication protocol used by the UI and by the registry is fully documented and can be found here.
There is an open source project that tried to accomplish the same goal. However its development is stalled and it looks just like a quick POF.
Looking for mad skills in:
This project is part of:
Hack Week 12