diff --git a/docs/services/docker-registry-browser.md b/docs/services/docker-registry-browser.md index c8b3842..d92a6ad 100644 --- a/docs/services/docker-registry-browser.md +++ b/docs/services/docker-registry-browser.md @@ -37,8 +37,8 @@ docker_registry_browser_basic_auth_username: admin # You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`). docker_registry_browser_basic_auth_password: '' -# To integrate with a locally running (in a container) Docker Registry, -# point to its local container address and change the browser to run in the registry's network. +# To integrate with a locally running (in a container) Docker Registry (see `docker-registry.md`), +# point to its local container address and configure the browser to run in the registry's network. docker_registry_browser_docker_registry_url: "http://{{ docker_registry_identifier }}:5000" docker_registry_browser_container_network: "{{ docker_registry_container_network }}" diff --git a/docs/services/docker-registry-purger.md b/docs/services/docker-registry-purger.md new file mode 100644 index 0000000..d16aa91 --- /dev/null +++ b/docs/services/docker-registry-purger.md @@ -0,0 +1,53 @@ +# Docker Registry Purger + +[Docker Registry Purger](https://github.com/devture/docker-registry-purger) is a small tool used for purging a private Docker registry's old tags. + + +## Dependencies + +This service requires to be pointed to a container registry. It may be a registry powered by [Docker Registry](docker-registry.md) or by some other software. + + +## Configuration + +To enable this service, add the following configuration to your `vars.yml` file and re-run the [installation](../installing.md) process: + +```yaml +######################################################################## +# # +# docker-registry-purger # +# # +######################################################################## + +docker_registry_purger_enabled: true + +# To integrate with a locally running (in a container) Docker Registry (see `docker-registry.md`), +# point to its local container address and configure the purger to run in the registry's network. +docker_registry_purger_registry_url: "http://{{ docker_registry_identifier }}:5000" +docker_registry_purger_container_network: "{{ docker_registry_container_network }}" + +# Alternatively, to use a registry running elsewhere, delete both lines above +# (docker_registry_purger_registry_url and docker_registry_purger_container_network), +# and use something this instead: +# docker_registry_purger_registry_url: "https://registry.example.com" + +######################################################################## +# # +# /docker-registry-purger # +# # +######################################################################## +``` + +You may wish to tweak some [default configuration]() variables, which ultimately control [environment variables](https://github.com/devture/docker-registry-purger#environment-variables) of the purger tool. + + +## Usage + +After installation, you should be able to go to the URL as configured via `docker_registry_browser_hostname` and `docker_registry_browser_path_prefix`. + +You should be able to browse the images and possibly delete them (if enabled via `docker_registry_browser_enabled_delete_images`). + + +## Recommended other services + +- [Docker Registry](docker-registry.md) -a container image distribution registry developed by [Docker Inc](https://www.docker.com/) diff --git a/docs/services/docker-registry.md b/docs/services/docker-registry.md index 6fcf30e..7c205cf 100644 --- a/docs/services/docker-registry.md +++ b/docs/services/docker-registry.md @@ -83,4 +83,4 @@ The base URL (e.g. `https://registry.example.com`) serves an empty (blank) page. ## Recommended other services - [Docker Registry Browser](docker-registry-browser.md) - Web Interface for the Docker Registry HTTP API V2 written in Ruby on Rails -- Docker Registry Purger - support coming to this playbook soon +- [Docker Registry Purger](docker-registry-purger.md) - a small tool used for purging a private Docker Registry's old tags diff --git a/docs/supported-services.md b/docs/supported-services.md index f7376ef..b2a90fd 100644 --- a/docs/supported-services.md +++ b/docs/supported-services.md @@ -5,7 +5,8 @@ | [Collabora Online](https://www.collaboraoffice.com/) | Your Private Office Suite In The Cloud | [Link](services/collabora-online.md) | | [Docker](https://www.docker.com/) | Open-source software for deploying containerized applications | [Link](services/docker.md) | | [Docker Registry](https://docs.docker.com/registry/) | A container image distribution registry | [Link](services/docker-registry.md) | -| [Docker Registry Browser](docker-registry-browser.md) | Web Interface for the Docker Registry HTTP API V2 written in Ruby on Rails | [Link](services/docker-registry-browser.md) | +| [Docker Registry Browser](https://github.com/klausmeyer/docker-registry-browser) | Web Interface for the Docker Registry HTTP API V2 written in Ruby on Rails | [Link](services/docker-registry-browser.md) | +| [Docker Registry Purger](https://github.com/devture/docker-registry-purger) | A small tool used for purging a private Docker Registry's old tags | [Link](services/docker-registry-purger.md) | | [Gitea](https://gitea.io/) | A painless self-hosted Git service. | [Link](services/gitea.md) | | [Miniflux](https://miniflux.app/) | Minimalist and opinionated feed reader. | [Link](services/miniflux.md) | | [Nextcloud](https://nextcloud.com/) | The most popular self-hosted collaboration solution for tens of millions of users at thousands of organizations across the globe. | [Link](services/nextcloud.md) | diff --git a/group_vars/mash_servers b/group_vars/mash_servers index 8c4c654..e3c4943 100644 --- a/group_vars/mash_servers +++ b/group_vars/mash_servers @@ -59,10 +59,12 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': (docker_registry_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'docker-registry']}] if docker_registry_enabled else []) + - ([{'name': (docker_registry_identifier + '-garbage-collect.timer'), 'priority': 2500, 'groups': ['mash', 'docker-registry', 'gc']}] if docker_registry_enabled else []) + ([{'name': (docker_registry_identifier + '-garbage-collect.timer'), 'priority': 2500, 'groups': ['mash', 'docker-registry', 'docker-registry-gc']}] if docker_registry_enabled else []) + ([{'name': (docker_registry_browser_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'docker-registry-browser']}] if docker_registry_browser_enabled else []) + + ([{'name': (docker_registry_purger_identifier + '.timer'), 'priority': 3000, 'groups': ['mash', 'docker-registry-purger']}] if docker_registry_purger_enabled else []) + + ([{'name': (gitea_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'gitea', 'gitea-server']}] if gitea_enabled else []) + ([{'name': (nextcloud_identifier + '-server.service'), 'priority': 2000, 'groups': ['mash', 'nextcloud', 'nextcloud-server']}] if nextcloud_enabled else []) @@ -433,6 +435,29 @@ docker_registry_browser_container_labels_traefik_tls_certResolver: "{{ devture_t +######################################################################## +# # +# docker-registry-purger # +# # +######################################################################## + +docker_registry_purger_enabled: false + +docker_registry_purger_identifier: "{{ mash_playbook_service_identifier_prefix }}docker-registry-purger" + +docker_registry_purger_base_path: "{{ mash_playbook_base_path }}/docker-registry-purger" + +docker_registry_purger_uid: "{{ mash_playbook_uid }}" +docker_registry_purger_gid: "{{ mash_playbook_gid }}" + +######################################################################## +# # +# /docker-registry-purger # +# # +######################################################################## + + + ######################################################################## # # # gitea # diff --git a/requirements.yml b/requirements.yml index 2d498c0..8e6edca 100644 --- a/requirements.yml +++ b/requirements.yml @@ -81,6 +81,10 @@ name: docker_registry_browser version: v1.6.0-0 +- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-docker-registry-purger.git + name: docker_registry_purger + version: v1.0.0-0 + - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-gitea.git name: gitea version: v1.18.5-3 diff --git a/setup.yml b/setup.yml index 2c5d2a3..6f420b4 100644 --- a/setup.yml +++ b/setup.yml @@ -58,6 +58,7 @@ - role: galaxy/docker_registry - role: galaxy/docker_registry_browser + - role: galaxy/docker_registry_purger - role: galaxy/gitea