• Stars
    star
    313
  • Rank 133,714 (Top 3 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 6 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

😎 A nice web interface for managing your Docker Registry images

Docker Registry UI

Docker Registry UI

Version Stars Pulls

Have you ever wanted a visual website to show you the contents of your Docker Registry? Look no further. Now you can list your Images, Tags and info in style.

This project comes as a pre-built docker image capable of connecting to another registry.

Note: This project only works with Docker Registry v2.

Getting started

Creating a full Docker Registry Stack with this UI

By far the easiest way to get up and running. Refer to the example docker-compose.yml example file, put it on your Docker host and run:

docker-compose up -d

Then hit your server on http://127.0.0.1

If you have your own Docker Registry to connect to

Here's a docker-compose.yml for you:

version: "2"
services:
  app:
    image: jc21/registry-ui
    ports:
      - 80:80
    environment:
      - REGISTRY_HOST=your-registry-server.com:5000
      - REGISTRY_SSL=true
      - REGISTRY_DOMAIN=your-registry-server.com:5000
      - REGISTRY_STORAGE_DELETE_ENABLED=
      - REGISTRY_USER=
      - REGISTRY_PASS=
    restart: on-failure

If you are like most people and want your docker registry and your docker ui to co-exist on the same domain on the same port, please refer to the Nginx configuration used by the docker-registry-ui-proxy image as an example. Note that there are some tweaks in there that you will need to be able to push successfully.

Environment Variables

  • REGISTRY_HOST - Required: The registry hostname and optional port to connect to for API calls
  • REGISTRY_SSL - Optional: Specify true for this if the registry is accessed via HTTPS
  • REGISTRY_DOMAIN - Optional: This is the registry domain to display in the UI for example push/pull code
  • REGISTRY_STORAGE_DELETE_ENABLED - Optional: Specify true or 1 to enable deletion features, but see below first!
  • REGISTRY_USER - Optional: If your docker registry is behind basic auth, specify the username
  • REGISTRY_PASS - Optional: If your docker registry is behind basic auth, specify the password

Refer to the docker documentation for setting up native basic auth.

Deletion Support

Registry deletion support sux. It is disabled by default in this project on purpose because you need to accomplish extra steps to get it up and running, sort of.

Permit deleting on the Registry

This step is pretty simple and involves adding an environment variable to your Docker Registry Container when you start it up:

docker run -d -p 5000:5000 -e REGISTRY_STORAGE_DELETE_ENABLED=true --name my-registry registry:2

Enabling Deletions in the UI

Same as the Registry, just add the REGISTRY_STORAGE_DELETE_ENABLED=true environment variable to the registry-ui container. Note that true is the only acceptable value for this environment variable.

Cleaning up the Registry

When you delete an image from the registry this won't actually remove the blob layers as you might expect. For this reason you have to run this command on your docker registry host to perform garbage collection:

docker exec -it my-registry bin/registry garbage-collect /etc/docker/registry/config.yml

And if you wanted to make a cron job that runs every 30 mins:

0,30 * * * * /bin/docker exec -it my-registry bin/registry garbage-collect /etc/docker/registry/config.yml >> /dev/null 2>&1

Screenshots

Dashboard Image Pulling Pushing

TODO

  • Add pagination to Repositories, currently only 300 images will be fetched
  • Add support for token based registry authentication mechanisms

More Repositories

1

route53-ddns

Update your route53 records dynamically with current IP
Go
77
star
2

clitable

CLI Table Output for PHP
PHP
50
star
3

dnsrouter

Simple DNS daemon to redirect requests based on domain names
Go
31
star
4

plex-api

PHP API for Plex Servers
PHP
31
star
5

docker-mariadb-aria

Docker extension of the mariadb image that forces aria storage engine
Shell
25
star
6

juxtapose

Juxtapose is a self-hosted web app to send notifications from incoming services
JavaScript
22
star
7

cypress-swagger-validation

Validate your request responses against Swagger JSON Endpoints. AKA Contract Testing.
TypeScript
21
star
8

MMM-IFTTT

MagicMirror Module for IFTTT Maker Web Based Notifications
JavaScript
18
star
9

docker-rpmbuild-centos7

Docker container for building RPMs for Centos 7
Shell
16
star
10

MMM-PiLights

MagicMirror Module to control a led strip attached to a Raspberry Pi
JavaScript
11
star
11

docker-alpine-nginx-full

Docker image using latest Alpine, Nginx and OpenSSL with all the Nginx plugins compiled.
Shell
9
star
12

docker-rpmbuild-centos8

Shell
8
star
13

docker-sphinxsearch

Docker container for Sphinx Search
Dockerfile
7
star
14

MMM-Sounds

MagicMirror Module to play Sounds
JavaScript
5
star
15

docker-registry-ui-proxy

Dockerfile
5
star
16

cypress-jwt-creation

Create JWT tokens with ease
TypeScript
5
star
17

docker-dnsrouter

Shell
5
star
18

redis-migrator

Redis Migrator will take the keys from one server/db and transfer them to another server/db
Go
5
star
19

nginx-proxy-manager-base

Base docker image for Nginx Proxy Manager project
Dockerfile
5
star
20

nginx-proxy-manager-portainer-compose

5
star
21

json-strip-comments

A command to strip c style comments from a given file
Go
3
star
22

docker-jenkins-node

Jenkins Node/Agent running a Docker container
Shell
3
star
23

docker-rpmbuild-rocky8

Shell
3
star
24

rancher-templates

Smarty
2
star
25

docker-devserver

Extremely lightweight container with Nginx and PHP Webserver stack for Development
Shell
2
star
26

filelist

File Listing helper class for PHP
PHP
1
star
27

nodejs-vision6-jsonrpc-client

An API Client for the Vision6 JSON-RPC Api www.vision6.com.au
JavaScript
1
star
28

docker-serverless

Serverless.com package in docker
Dockerfile
1
star
29

tabler-react-typescript

TypeScript
1
star
30

slack-notifications

A PHP interface for sending Notifications to your Slack team
PHP
1
star
31

wallboard

A simplistic Wallboard interface.
JavaScript
1
star
32

cypress-jsonschema-validation

TypeScript
1
star
33

docker-ci-tools

Shell
1
star
34

docker-appserver

Extremely lightweight container with Nginx and PHP Webserver stack
Shell
1
star
35

nodejs-radarr-api

TypeScript
1
star
36

docker-rpmbuild-centos6

Docker container for building RPMs for Centos 6
Shell
1
star
37

docker-cabotapp

Dockerfile
1
star
38

paypal-here-tokens

An API for Paypal Here first party tokenization
JavaScript
1
star