All Projects → klausmeyer → Docker Registry Browser

klausmeyer / Docker Registry Browser

Licence: mit
🐳 Web Interface for the Docker Registry HTTP API V2 written in Ruby on Rails.

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Docker Registry Browser

Consul
Consul - Open Government and E-Participation Web Software
Stars: ✭ 1,088 (+355.23%)
Mutual labels:  hacktoberfest, rails
Readyresponder
Local Incident Management System - This is used for tracking resources for Local Emergency Management
Stars: ✭ 106 (-55.65%)
Mutual labels:  hacktoberfest, rails
Odoo Shopinvader
Odoo Modules. Sorry Magento, Shopinvader is coming
Stars: ✭ 60 (-74.9%)
Mutual labels:  hacktoberfest, rails
Docker Registry Ui
The simplest and most complete UI for your private registry
Stars: ✭ 756 (+216.32%)
Mutual labels:  user-interface, docker-registry
Yaaf
Easing the form object pattern in Rails applications
Stars: ✭ 161 (-32.64%)
Mutual labels:  hacktoberfest, rails
Kamekazi
Self destructing messages
Stars: ✭ 21 (-91.21%)
Mutual labels:  hacktoberfest, web-app
Asf Ui
The official web interface for ASF
Stars: ✭ 100 (-58.16%)
Mutual labels:  hacktoberfest, user-interface
Plots2
a collaborative knowledge-exchange platform in Rails; we welcome first-time contributors! 🎈
Stars: ✭ 666 (+178.66%)
Mutual labels:  hacktoberfest, rails
Rpush
The push notification service for Ruby.
Stars: ✭ 1,886 (+689.12%)
Mutual labels:  hacktoberfest, rails
Boring generators
Boring generators aims to make your development faster by delegating boring setups to us.
Stars: ✭ 125 (-47.7%)
Mutual labels:  hacktoberfest, rails
Action policy
Authorization framework for Ruby/Rails applications
Stars: ✭ 718 (+200.42%)
Mutual labels:  hacktoberfest, rails
Home Panel
A web frontend for controlling the home.
Stars: ✭ 185 (-22.59%)
Mutual labels:  hacktoberfest, user-interface
Fae
CMS for Rails. For Reals.
Stars: ✭ 701 (+193.31%)
Mutual labels:  hacktoberfest, rails
Logidze
Database changes log for Rails
Stars: ✭ 1,060 (+343.51%)
Mutual labels:  hacktoberfest, rails
Openfoodnetwork
Connect suppliers, distributors and consumers to trade local produce. We're recruiting paid contributors, link below.
Stars: ✭ 682 (+185.36%)
Mutual labels:  hacktoberfest, rails
Ifme
Free, open source mental health communication web app to share experiences with loved ones
Stars: ✭ 1,147 (+379.92%)
Mutual labels:  hacktoberfest, rails
Phpmyadmin
A web interface for MySQL and MariaDB
Stars: ✭ 5,750 (+2305.86%)
Mutual labels:  hacktoberfest, web-app
Osem
Open Source Event Manager. An event management tool tailored to Free and Open Source Software conferences.
Stars: ✭ 649 (+171.55%)
Mutual labels:  hacktoberfest, rails
Influxer
InfluxDB ActiveRecord-style
Stars: ✭ 115 (-51.88%)
Mutual labels:  hacktoberfest, rails
Rubanok
Parameters-based transformation DSL
Stars: ✭ 161 (-32.64%)
Mutual labels:  hacktoberfest, rails

Docker Registry Browser

Build Status

Web Interface for the Docker Registry HTTP API V2 written in Ruby on Rails.

Screenshots

Repositories overview

Screenshot 1

Tag overview

Screenshot 2

Tag details

Screenshot 3

Delete tag

Screenshot 4

Usage

Docker

Execute:

docker run --name registry-browser -it -p 8080:8080 -e DOCKER_REGISTRY_URL=http://your-registry:5000 klausmeyer/docker-registry-browser

Manual production setup

  1. Install ruby e.g. using RVM (see .ruby-version file for required version).

  2. Execute the following commands inside your local clone of this repository:

gem install bundler
bundle install --without development test
RAILS_ENV=production rails assets:precompile
  1. Run the application using the following command
RAILS_ENV=production RAILS_SERVE_STATIC_FILES=true SECRET_KEY_BASE=changeme DOCKER_REGISTRY_URL=http://your-registry:5000 bundle exec puma -C config/puma.rb

Configuration

The configuration is done by environment variables.

Option Type Description
DOCKER_REGISTRY_URL String URL to the Docker Registry which should be browsed
Default: http://localhost:5000
NO_SSL_VERIFICATION Bool Skip SSL verification (default false)
Example: true
CA_FILE String Custom CA file to verify the registry's certificate
Example: /path/to/ca.pem
BASIC_AUTH_USER String Username for basic-auth against registry
Example: joe
BASIC_AUTH_PASSWORD String Password for basic-auth against registry
Example: supersecretpassw0rd
TOKEN_AUTH_USER String Username for token-auth against registry
Example: joe
TOKEN_AUTH_PASSWORD String Password for token-auth against registry
Example: supersecretpassw0rd
ENABLE_DELETE_IMAGES Bool Allow deletion of tags (default false)
Example: true
PUBLIC_REGISTRY_URL String The public URL to the Docker Registry to do docker pull
Example: your-registry:5000
ADDRESS String The address on which the application will serve HTTP requests.
Default: 0.0.0.0
PORT Number The port on which the application will serve HTTP requests.
Default: 8080
SSL_ADDRESS String The address on which the application will serve HTTPS requests.
Default: 0.0.0.0
SSL_PORT Number The port on which the application will serve HTTPS requests.
Default: 8443
SSL_CERT_PATH String Absolute path to the SSL certificate which should be used.
Example: /ssl/cert.pem
SSL_KEY_PATH String Absolute path to the SSL private key which should be used.
Example: /ssl/key.pem

You can also set the following variables as Docker Swarm secrets with the same naming:

  • BASIC_AUTH_USER
  • BASIC_AUTH_PASSWORD
  • TOKEN_AUTH_USER
  • TOKEN_AUTH_PASSWORD

Running the application under a subfolder

In case you want to define a subfolder the app is running under (e.g. behind a proxy) you can set the two options to the path:

  • RAILS_RELATIVE_URL_ROOT
  • SCRIPT_NAME

For example:

docker run [...] \
  -e RAILS_RELATIVE_URL_ROOT=/browser \
  -e SCRIPT_NAME=/browser \
  [...]

Local SSL

Although it is recommended to use a reverse proxy and terminate SSL requests there the application allows to run in a standalone setup handling SSL by its own.

For this both config options SSL_CERT_PATH and SSL_KEY_PATH need to be present and contain the correct path to the certificate and key to be used.

Proxy Setups

If you're using a reverse-proxy setup with SSL termination in front of this application in combination with ENABLE_DELETE_IMAGES=true you must make sure that the application knows about this fact (by sending X-Forwarded-Proto: https in the HTTP headers).

Otherwise the application would throw errors like "HTTP Origin header [...] didn't match request.base_url [...]" when you're trying to delete image-tags.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].