{"id":13416382,"url":"https://github.com/atcol/docker-registry-ui","last_synced_at":"2025-03-14T23:31:45.386Z","repository":{"id":62685422,"uuid":"20876967","full_name":"atcol/docker-registry-ui","owner":"atcol","description":"A web frontend/UI for easy private/local Docker Registry integration","archived":true,"fork":false,"pushed_at":"2023-01-17T07:42:53.000Z","size":42624,"stargazers_count":893,"open_issues_count":37,"forks_count":152,"subscribers_count":51,"default_branch":"master","last_synced_at":"2024-04-24T04:25:50.571Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Groovy","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atcol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-06-16T07:55:52.000Z","updated_at":"2024-03-31T14:14:56.000Z","dependencies_parsed_at":"2023-02-10T08:30:40.483Z","dependency_job_id":null,"html_url":"https://github.com/atcol/docker-registry-ui","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atcol%2Fdocker-registry-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atcol%2Fdocker-registry-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atcol%2Fdocker-registry-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atcol%2Fdocker-registry-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atcol","download_url":"https://codeload.github.com/atcol/docker-registry-ui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243663516,"owners_count":20327300,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T21:00:57.940Z","updated_at":"2025-03-14T23:31:40.377Z","avatar_url":"https://github.com/atcol.png","language":"Groovy","readme":"[![Build Status](https://travis-ci.org/atc-/docker-registry-ui.svg?branch=master)](https://travis-ci.org/atc-/docker-registry-web) [![Gitter chat](https://badges.gitter.im/atc-/docker-registry-web.png)](https://gitter.im/atc-/docker-registry-web)\n\nThis project is archived as it has not been maintained in years. There are alternatives as listed [here](https://www.cloudbees.com/blog/docker-guis).\n\nDocker Registry UI\n===================\n\nA web UI for easy private/local Docker V1 or V2 Registry integration. \n\nDocker Registry UI is a mature, easy-to-use and fast web application for administering your Docker Registry through a sleek user interface. You can register one-to-many registries and then browse, search and delete images.\n\n## Features\n\nThe application boasts the following features:\n\n * View all images for all registries (one to many)\n \n * Further info. page for images for inspection of config. etc\n \n * Pull copy/paste shortcuts\n\n * Delete images\n\n * Search for images\n\n * Containerized via [Docker](https://registry.hub.docker.com/u/atcol/docker-registry-ui/)\n \n * Custom deployment context (e.g. /reg-ui)\n\n * Read only mode for preventing registry configuration changes once running\n \n * Stateless application\n\n## Demo\n\nThis project is containerized. You can run with docker right now by simply running:\n\n\tdocker run -d -p 8080:8080 atcol/docker-registry-ui\n\nand browsing to localhost:8080/.\n\n## Dependencies\n\nYou need to have a running instance of `docker registry` that has a **search backend enabled**! See [this issue](https://github.com/atc-/docker-registry-web/issues/65#issuecomment-68060219) for further information.\n\n## Statelessness\n\nThe app' requires registry configuration which can be supplied once the app's running, or through container environment\nvariables:\n\n\tdocker run -d -p 8080:8080 -e REG1=http://dev:5000/v1/ -e REG2=http://prod/v1/ atcol/docker-registry-ui\n\nwhich will run the application and automatically register two registries at the hosts `dev` and `prod` respectively,\nboth running API versions v1. You must provide URLs that include the API version. \n\n**Note:** don't use `localhost` in registry URLs! The host needs to be visible from inside the container, so `-e REG1=http://localhost/...` won't work because localhost will resolve to the container's IP. If registry is running on the host, then remember to use its IP: `172.17.42.1`.\n\n## Volumes\n\nThe webapp's configuration data is stored inside the container in a H2 database under `/var/lib/h2/`. You can hold this data on the host machine using the `-v` flag:\n\n\tdocker run -d -p 8080:8080 -v /some/data/dir:/var/lib/h2 atcol/docker-registry-ui\n\nwhich survives container restarts.\n\nYou could also use the data-container pattern using `--volumes-from`:\n\n\tdocker run -d -v /var/lib/h2 --name=\"registry_web_data\" ubuntu\n\n\tdocker run -d -p 8080:8080 --volumes-from=registry_web_data atcol/docker-registry-ui\n\nNow all data will be kept in the `registry_web_data` container.\n\n## Custom Deployment Context\n\nYou can deploy this container in a custom context as such:\n\n`docker run -d -p 80:8080 -it -e APP_CONTEXT=ui -e REG1=http://172.17.42.1:5000/v1/ atcol/docker-registry-ui`\n\nwill expose the container under `http://localhost/ui`.\n\n## Read Only Mode\n\nUsing the container parameter `-e READ_ONLY=true` will enable read only mode, which prevents manipulation of the \nregistry configurations at runtime.\n\n# License\n\nAs of release 0.9.5, this project is licenced under GPL v3.0. See the LICENSE file.\n\n# Troubleshooting\n\n## My registry can't be found/seen by docker registry web! Help!\n\nIf you're seeing error messages like `Connection to http://registry refused`, make sure you've configured the port and hostname correctly. **Do not** set the registry hostname to `localhost`, because the container will resolve this to itself (127.0.0.1). If the registry instance runs on the host machine (that which runs the container), then set the registry IP/hostname to `172.17.42.1`. Alternatively, you could use writable /etc/hosts as of Docker 1.2 and 'route' it that way.\n\n## Registries behind HTTPS or `Ping failed: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated`\nYou need to register the CA with the container's keystore; see [this issue](https://github.com/atcol/docker-registry-ui/issues/108#issuecomment-74063947).\n","funding_links":[],"categories":["Container Operations","Groovy"],"sub_categories":["User Interface"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatcol%2Fdocker-registry-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatcol%2Fdocker-registry-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatcol%2Fdocker-registry-ui/lists"}