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.
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
FREE SOFTWARE, HELL YEAH!
ansible role to setup a Web UI for a docker registry
ansible-galaxy install bodsch.registry_ui