diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e0a53b8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,51 @@ +# Copyright (C) 2016 Jones Magloire @Joxit +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +FROM node:slim + +MAINTAINER Jones MAGLOIRE @Joxit + +WORKDIR /usr/src/app + +RUN npm install -g http-server && npm cache clean + +COPY package.json /usr/src/app + +RUN npm install \ + && find node_modules/ \ + -maxdepth 1 -mindepth 1 -type d \ + ! -name riot \ + ! -name material-design-icons \ + ! -name material-design-* \ + ! -name dialog-polyfill \ + -exec rm -rf {} \; \ + && find node_modules/material-design-* \ + -maxdepth 1 -mindepth 1 \ + ! -name package.json \ + ! -name iconfont \ + ! -name LICENSE \ + ! -name material* \ + ! -name dist \ + -exec rm -rf {} \; \ + && find node_modules/material-design-lite/dist/ -maxdepth 1 -mindepth 1 \ + ! -name "*.js*" \ + ! -name "*.css*" \ + -exec rm -rf {} \; \ + && npm cache clean + +COPY . /usr/src/app + +EXPOSE 8080 + +ENTRYPOINT http-server diff --git a/README.md b/README.md new file mode 100644 index 0000000..e4c1575 --- /dev/null +++ b/README.md @@ -0,0 +1,62 @@ +# Docker Registry UI + +## Overview +This project aims to provide a user interface for your private docker registry v2. +There is no default registry on this UI, you should add your own with the UI. +You can manage more than one registry server. +All registry will be stored in the [local storage](https://en.wikipedia.org/wiki/Web_storage#Local_and_session_storage) of your browser. + +This web user interface use [Riot](https://github.com/Riot/riot) the react-like user interface micro-library and [Material Design Lite](https://github.com/google/material-design-lite) components. + +![screenshot](https://raw.github.com/Joxit/docker-registry-ui/master/screenshot.png "Screenshot of Docker Registry UI") + +## Features + + * List all your repositories/images. + * List all tags for a repository/image + * Sort the tag list + * One interface for many registry + +## Getting Started +### Basic + +First you need node and npm in order to download dependencies. + +```sh +git clone https://github.com/Joxit/docker-registry-ui.git +cd docker-registry-ui +npm install +``` + +Now you can open index.html with your browser or use a http-server +```sh +npm install -g http-server +http-server +``` +### Docker +The docker contains the source code and a node webserver in order to serve the docker-registry-ui. + +#### Get the docker image +You can get the image in three ways + +From sources with this command : +```sh +git clone https://github.com/Joxit/docker-registry-ui.git +docker build -t joxit/docker-registry-ui docker-registry-ui +``` + +Or build with the url : + ```sh +docker build -t joxit/docker-registry-ui github.com/Joxit/docker-registry-ui +``` + +Or pull the image from [docker hub](https://hub.docker.com/r/joxit/docker-registry-ui/) : +```sh +docker pull joxit/docker-registry-ui +``` + +#### Run the docker +To run the docker and see the website on your 8080 port, try this : +```sh +docker run -d -p 8080:8080 joxit/docker-registry-ui +``` diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000..92635e2 Binary files /dev/null and b/screenshot.png differ