Giter Club home page Giter Club logo

docker-registry-manager's Introduction

Docker Registry Manager Go Report Card GoDoc

Docker Registry Manager is a golang written, beego driven, web interface for interacting with multiple docker registries (one to many).

Service Master Develop
Status Build Status Build Status
Coverage Coverage Status Coverage Status

Example

Current Features

  1. Support for docker distribution registry v2 (https and http)
  2. Viewable image/tags stages, commands, and sizes.
  3. Bulk deletes of tags
  4. Registry activity logs
  5. Comparison of registry images to public Dockerhub images

Planned Features

  1. Authentication for users with admin/read only rights using TLS
  2. Global search
  3. List image shared layers
  4. Event timeline

Quickstart

The below steps assume you have a docker registry currently running (with delete mode enabled (https://docs.docker.com/registry/configuration/). To add a registry to manage, add via the interface... or via the registries.yml file

Docker-Compose (Recommended)

Install compose (https://docs.docker.com/compose/install/), and then run the below commands

 git clone https://github.com/snagles/docker-registry-manager.git && cd docker-registry-manager
 vim registries.yml # add your registry
 vim docker-compose.yml # Edit application settings e.g log level, port
 docker-compose up -d
 firefox localhost:8080

Environment Options:

  • MANAGER_PORT: Port to run on inside the docker container
  • MANAGER_REGISTRIES: Registries.yml file location inside the docker container
  • MANAGER_LOG_LEVEL: Log level for logs (fatal, panic, error, warn, info, debug)
  • MANAGER_ENABLE_HTTPS: true/false for using HTTPS. When using HTTPS the below options must be set
  • MANAGER_KEY: key file location inside the docker container
  • MANAGER_CERTIFICATE: Certificate location inside the docker container

Helm (Kubernetes)

With a working kubernetes cluster and helm installation, run the following:

 git clone https://github.com/snagles/docker-registry-manager.git && cd docker-registry-manager
 vim helm/values.yaml # configure with your cluster specifics and add registries
 helm install --name docker-registry-manager helm/

Go

   git clone https://github.com/snagles/docker-registry-manager.git && cd docker-registry-manager
   vim registries.yml # add your registry
   cd app && go build . && ./app --port 8080 --log-level warn --registries "../registries.yml"
   firefox localhost:8080

CLI Options

  • port, p: Port to run on
  • registries, r: Registrys.yml file location
  • log-level, l: Log level for logs (fatal, panic, error, warn, info, debug)
  • enable-https, e: true/false for using HTTPS. When using HTTPS the below options must be set
  • tls-key, k: key file location inside the docker container
  • tls-certificate, cert: Certificate location inside the docker container

Dockerfile

   vim registries.yml # add your registry
   docker run --detach --name docker-registry-manager -p 8080:8080 -e MANAGER_PORT=8080 -e MANAGER_REGISTRIES=/app/registries.yml -e MANAGER_LOG_LEVEL=warn docker-registry-manager
   firefox localhost:8080

Environment Options:

  • MANAGER_PORT: Port to run on inside the docker container
  • MANAGER_REGISTRIES: Registries.yml file location inside the docker container
  • MANAGER_LOG_LEVEL: Log level for logs (fatal, panic, error, warn, info, debug)
  • MANAGER_ENABLE_HTTPS: true/false for using HTTPS. When using HTTPS the below options must be set
  • MANAGER_KEY: key file location inside the docker container
  • MANAGER_CERTIFICATE: Certificate location inside the docker container

Registries.yml Example

registries:
  localRegistry:
    displayname: registry.example.com:5000
    url: http://localhost # Example https://localhost, http://remotehost.com
    port: 5000  # Example: 443, 8080, 5000
    username: exampleUser
    password: examplePassword
    refresh-rate: "5m" # Example: 60s, 5m, 1h
    skip-tls-validation: true # REQUIRED for self signed certificates
    dockerhub-integration: true # Optional - compares to dockerhub to determine if image up to date

docker-registry-manager's People

Contributors

avbasov avatar kelvinji2009 avatar kunde21 avatar neumayer avatar oleksii-shyman avatar philipphomann avatar snagles avatar thisiskj avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.