Skip to content

Tchoupinax/fuzzy-engine

Repository files navigation

fuzzy-engine 🐳

Fuzzy engine a is beautiful ✨ and simple 🐹 UI for your private Docker registry or another registries.

List of supporting docker registry:

  • Self hostable registry
  • AWS ECR
    • With API keys
    • With local authentication (CLI)
  • Github Container Registry
  • Dockerhub
  • Google Cloud

demo: https://fuzzy-engine.corentinfiloche.xyz

Getting started

The best way to use and to deploy the UI is with Docker.

docker run -d -p 3000:3000 tchoupinax/fuzzy-engine

Authentication to ECR using AWS local authentication

In a company enterprise, you are logged to your ECR with the AWS cli. Fuzzy-engine support this authentication.

When you logged in, the cli exposed three environment variables to your shell

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • AWS_SESSION_TOKEN

Fuzzy-engine will simply use them for talking with AWS api.

If you use a Docker image, you have to share these variable by the following way

docker run -d \
  -p 3000:3000 \
  -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
  -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
  -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
  tchoupinax/fuzzy-engine

FAQ

How it works ?

You set your credentials with the form on the home page. Then, they are kept in a cookie. Not elsewhere. These credentials are used to request your registry.

Why this is not an SPA ?

The docker registy image does not allow cross-origin request, so browser prevents from making the requests. The only solution is to make requests backend side.

Screenshots 🖼

Home page

Home page

List of your repositories

Home page

List of the digests (with tags) for one repository

Home page

Built with

Docker informations

Trigger the garbage collector

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