{# docker/disk.html — image/disk usage: reclaimable space, per-image sizes #} {% extends "base.html" %} {% from "_macros.html" import crumbs %} {% block title %}Disk — Docker — Steward{% endblock %} {% block breadcrumb %}{{ crumbs([("Docker", "/plugins/docker/"), ("Image & disk usage", "")]) }}{% endblock %} {% block content %}

Image & disk usage

Reclaimable = space held by images no container references. Admins can prune per host below; each action runs an audited Ansible playbook on that host.

{% if host_groups %} {% for g in host_groups %}
{{ g.host_name }}
{# ── Summary stats ────────────────────────────────────────────────────── #}
Reclaimable
{{ g.summary.images_reclaimable }}
Images
{{ g.summary.images_size }}
{{ g.summary.images_active }}/{{ g.summary.images_total }} in use
Stopped
{{ g.stopped }}
Writable layers
{{ g.summary.containers_size }}
{{ g.summary.containers_count }} containers
Volumes
{{ g.summary.volumes_size }}
{{ g.summary.volumes_count }} volumes
Build cache
{{ g.summary.build_cache_size }}
{# ── Cleanup actions (admin only; audited Ansible prune run) ───────────── #} {% if session.user_role == 'admin' %}
{% if ansible_available and g.has_target %}
Reclaimed space appears on the next agent sample.
{% elif not ansible_available %}
Cleanup needs the Ansible runner (currently unavailable).
{% else %}
Link an Ansible target to this host to enable prune actions.
{% endif %}
{% endif %} {# ── Per-image table ──────────────────────────────────────────────────── #}
{% for im in g.images %} {% else %} {% endfor %}
ImageSizeSharedContainers
{{ im.repo_tag }} {% if im.reclaimable %}reclaimable{% endif %} {{ im.size }} {{ im.shared }} {{ im.containers }}
No images reported.
{% endfor %} {% else %}
No disk usage reported yet. The host agent reports image/disk usage from docker system df on hosts running Docker.
{% endif %} {% endblock %}