bodsch.registry_ui

Ansible Role: registry-ui


I have moved this role to its own collection.
In the future, I will not accept or handle any more pull requests or issues here.

Please use the new collection from now on!


This Ansible role helps you install and set up Docker registry-ui without needing a container.
It works with systemd and openrc.

GitHub Workflow Status GitHub issues GitHub release (latest by date) Ansible Quality Score

If you set latest for registry_ui_version, the role will try to install the latest release.
Use this carefully, as there might be compatibility issues between releases!

The binaries are installed in /usr/local/bin/registry-ui/${registry_ui_version} and are later linked to /usr/bin. This setup allows for safer downgrades.

The downloaded files are stored on the Ansible controller, unpacked, and then the binaries are copied to the target system. You can set a custom cache directory by using the environment variable CUSTOM_LOCAL_TMP_DIRECTORY. By default, it is ${HOME}/.cache/ansible/registry-ui. If you prefer, you can download directly to the target system by setting registry_ui_direct_download to true.

Requirements & Dependencies

Ansible Collections needed:

You can install them with:

ansible-galaxy collection install bodsch.core
ansible-galaxy collection install bodsch.scm

or

ansible-galaxy collection install --requirements-file collections.yml

Supported Operating Systems

Tested on:

  • Arch Linux
  • Debian-based systems
    • Debian 10 / 11
    • Ubuntu 20.10

Requirements

Must have Docker Registry running.

Contribution

Please check Contribution.

Development and Branches (Git Tags)

The master branch is my working branch which may not be stable!

If you want a stable version, please use a Tagged Version!

Configuration

Note: The release of the registry-ui binary is from a fork, not the original, since the original does not provide a Go binary yet!

registry_ui_version: 0.9.5

registry_ui_release_download_url: https://github.com/bodsch/docker-registry-ui/releases

registry_ui_system_user: registry-ui
registry_ui_system_group: registry-ui
registry_ui_config_dir: /etc/registry-ui
registry_ui_data_dir: /var/lib/registry-ui

registry_ui_direct_download: false

registry_ui_service:
  log_level: info

registry_ui_listen:
  address: 127.0.0.1
  port: 8000

registry_ui_base_path: /ui

registry_ui_debug: false

registry_ui_registry: {}

registry_ui_event: {}

registry_ui_cache: {}

registry_ui_admins: []

registry_ui_purge: {}

registry_ui_listen

Set the address and port to listen on.

registry_ui_listen:
  address: 127.0.0.1
  port: 8000

registry_ui_registry

Specify the registry URL, include the scheme and port.

Make sure to verify the TLS certificate if using https. Provide Docker registry credentials with full access. If you're using token authentication, these will be auto-discovered. If using the password_file entry, you can pass the password as a Docker secret read from the file, which overrides the password entry.

registry_ui_registry:
  url: https://docker-registry.local:5000
  verify_tls: true
  username: ""
  password: ""
  password_file: ""

registry_ui_event

Configure event listener which should match on the Docker registry for authorization.

registry_ui_event:
  listener_token: ""  #  token
  retention_days: 7
  database:
    driver: sqlite3   #  sqlite3 or mysql
    location: ""      #  data/registry_events.db
    username:
    password:
    hostname: 127.0.0.1:3306
    schemaname: docker_events
  deletion_enabled: true
  anyone_can_view: true

registry_ui_cache

registry_ui_cache:
  refresh_interval: 10

registry_ui_admins

registry_ui_admins:
  anyone_can_delete: false
  admins: []

registry_ui_purge

Enable an automated system for deleting tags. An empty string disables this feature.
Example: 25 54 17 * * * to run daily at 17:54:25.

Remember, the schedule format includes seconds! See robfig/cron

registry_ui_purge:
  tags_keep_days: 90
  tags_keep_count: 2
  tags_keep_regexp: ''
  tags_keep_from_file: ''
  tags_schedule: ''

Author and License

  • Bodo Schulz

License

Apache

FREE SOFTWARE, HELL YEAH!

Informazioni sul progetto

ansible role to setup a Web UI for a docker registry

Installa
ansible-galaxy install bodsch.registry_ui
Licenza
apache-2.0
Download
183
Proprietario
ex-developer (c, c++, php), ex-system administrator / engineer, keep-it-simple, monitoring, automation, system architect