Go to file
Mike Heijmans cbe663b89a add cache load 2019-03-27 21:42:13 -05:00
.circleci add cache load 2019-03-27 21:42:13 -05:00
app modified containers to images 2018-04-09 13:57:08 +08:00
lib master - general updates including strict mode 2019-02-19 00:29:53 +01:00
public implement title properly and update 404 handling 2017-08-07 09:30:58 -05:00
screenshots Updated the documentation 2017-08-06 22:27:07 -05:00
views implement title properly and update 404 handling 2017-08-07 09:30:58 -05:00
.gitignore add codealike 2018-03-21 07:03:29 -05:00
.ruby-gemset ..and so it begins 2015-08-17 09:52:45 -07:00
.ruby-version upgrade ruby to 2.3.4 2017-08-16 16:01:21 -04:00
Dockerfile master - general updates including strict mode 2019-02-19 00:29:53 +01:00
Gemfile master - general updates including strict mode 2019-02-19 00:29:53 +01:00
Gemfile.lock master - general updates including strict mode 2019-02-19 00:29:53 +01:00
LICENSE.md use some twitter bootstrap action 2015-08-17 22:34:45 -07:00
Procfile ..and so it begins 2015-08-17 09:52:45 -07:00
README.md Add session secret env variable 2017-08-07 12:09:50 -05:00
Rakefile Docker should handle installing dependencies 2017-06-23 13:54:31 +02:00
VERSION refactored the api (fixes #6) 2017-08-06 22:04:27 -05:00
codealike.json add codealike 2018-03-21 07:03:29 -05:00
config.ru ..and so it begins 2015-08-17 09:52:45 -07:00
docker-compose.yml add image delete functions 2016-09-21 11:34:54 -07:00
package.json fix missing dependencies for node 2017-08-07 11:40:32 -05:00
server.rb Add session secret env variable 2017-08-07 12:09:50 -05:00
unicorn.rb ..and so it begins 2015-08-17 09:52:45 -07:00
webpack.config.js Use react single page app for browsing registry 2016-05-15 10:41:16 -07:00

README.md

CraneOperator

Just as crane operators can see where all the containers that are in the shipyard, CraneOp gives you a simple web interface for browsing around a Docker Registry running version 2.0+

VERSION 2.2 Includes a bunch of new requested features!

What's new in Version 2.2?

  • Filtering of container list
  • Filtering of the tag list
  • More layer info
  • Permalinks!
  • Login to the registry through the UI
  • Default tag selection if there's only 1 tag for a container

Circle CI

screenshots/crane_operator.png

Why Crane Operator?

When you run your own internal docker registry, it can be challenging to find out what has been saved there. I wanted to create a simple and lightweight frontend for browsing my registry. Most solutions that exist are built for registry v1 and don't work with the newer registry v2. (to be honest, its hard enough to even get registry v2 working... browsing it shouldn't be)

How do I run it?

docker run -d -p 80:80 parabuzzle/craneoperator:latest

How do I configure it?

Available Environment Variables:

note: some variables changed in version 2.2

  • REGISTRY_HOST - the registry host to browse (default: localhost)
  • REGISTRY_PORT - the port of the registry host (default: 5000)
  • REGISTRY_PROTOCOL - the protocol to use (ie: http or https) (default: https)
  • SSL_VERIFY - should the certificate be verified if using SSL (default: true)
  • REGISTRY_PUBLIC_URL - optional url to use for displaying in pull command and footer (default: REGISTRY_HOST:REGISTRY_PORT)
  • ALLOW_REGISTRY_LOGIN - Adds a login option to the UI for logging into the Registry for each user
  • SESSION_SECRET - The session secret for storing the user credentials passed in via ALLOW_REGISTRY_LOGIN
    • note: You should set this to a long random string if you are using ALLOW_REGISTRY_LOGIN
  • REGISTRY_USERNAME - the username to use if the registry has auth enabled (if ALLOW_REGISTRY_LOGIN enabled, this is overridden by the user's session)
  • REGISTRY_PASSWORD - the password to use if the registry has auth enabled (if ALLOW_REGISTRY_LOGIN enabled, this is overridden by the user's session)
  • TITLE - Changes the brand title (for those that like to change that sort of thing)
  • USERNAME - setting this will activate BASIC AUTH and require this username
  • PASSWORD - optional password for BASIC AUTH (you must set the USERNAME for this to work)
  • REGISTRY_ALLOW_DELETE - when set to true will expose the delete action on images (default: false)
    • note: you must enable delete actions on your registry.
    • note: some caching schemes may also cause deletes to occur but not be apparent in the UI right away
docker run -d \
  -p 80:80 \
  -e REGISTRY_HOST=registry.yourdomain.com \
  -e REGISTRY_PORT=443 \
  -e REGISTRY_PROTOCOL=https \
  -e SSL_VERIFY=false \
  -e ALLOW_REGISTRY_LOGIN=true \
  -e REGISTRY_ALLOW_DELETE=true \
  parabuzzle/craneoperator:latest