docker-registry-frontend
docker-registry-frontend copied to clipboard
Web-based front end for multiple v1/v2 Docker registries
docker-registry-frontend
Web front end to display the content of multiple Docker registries
Feature Overview
- browse available Docker images and check the availability of multiple Docker registries
- add and remove registries via the web interface
- delete repositories and tags (automatically detected if registry supports it)
- support for Docker registries V1 and V2
- get detailed information about your Docker images
- supports Basic Auth protected registries
Installation
$ git clone [email protected]:brennerm/docker-registry-frontend.git && cd docker-registry-frontend
$ pip3 install -r requirements.txt
$ bower install
Usage
$ python3 frontend.py -h
usage: frontend.py [-h] [-d] [-i IP_ADDRESS] [-p PORT] config
positional arguments:
config
optional arguments:
-h, --help show this help message and exit
-d, --debug Run application in debug mode
-i IP_ADDRESS, --ip-address IP_ADDRESS IP address to bind application to
-p PORT, --port PORT Port to bind application to
$ python3 frontend.py config.json
Alternatively you can use the prebuilt Docker image.
docker run -d -p 127.0.0.1:80:80 brennerm/docker-registry-frontend
This makes the front end available at http://127.0.0.1:80.
Configuration
Caching
It's possible to enable a caching functionality to keep the frontend fast even when viewing thousands of repos and tags. By default it's disabled as there is no need for small registries. To enable it set a value for the cache timeout in seconds.
{
"cache_timeout": 3600
}
Supported storage drivers
The frontend supports various kinds of storages to persists the configuration. The following options are currently implemented:
- SQLite
{
"storage": {
"driver": "sqlite",
"file_path": "db.sqlite"
}
}
Set the "file_path" value to ":memory:" to use an in-memory database.
- JSON File
{
"storage": {
"driver": "json",
"file_path": "db.json"
}
}
If you'd like to use another storage feel free to create an issue or open a pull request.