{% extends "ui/_layout.html" %} {% block title %}Images - bty-web{% endblock %} {% block content %}

Images

{{ unified|length }} entr{{ "y" if unified|length == 1 else "ies" }} | image-root {{ image_root }}
{% if not unified %}
No images found. Drop .qcow2 / .img / .img.zst / .img.xz / .img.gz / .img.bz2 files under {{ image_root }}, or author a catalog.toml with manifest entries pointing at upstream URLs (see the bty docs for the schema). Refresh the page after either to see them here.
{% else %}
Unified catalog (dir scan + manifest, SHA-keyed)
{% for u in unified %} {% endfor %}
Name(s) Ref Format Sources Cached Action
{% for n in u.names %} {{ n }}{% if not loop.last %}, {% endif %} {% endfor %} {% if u.sha256 %} {{ u.sha256[:12] }}... {% else %} unhashed {% endif %} {{ u.format or "?" }} {% for s in u.sources %} {% if s.kind == "local" %} {{ s.location }} {% else %} {{ s.location }} {% endif %} {% if not loop.last %}
{% endif %} {% endfor %}
{% if u.cached %} cached {% else %} available {% endif %} {% if not u.sha256 %} {# Unhashed dir-scan file: a hash button enqueues via the HashManager (background, single-worker by default). #} {% elif not u.cached %} {# Manifest-only entry not yet in cache: a fetch button enqueues via the DownloadManager. #} {% else %} - {% endif %}
Downloads refreshing...
Name Status Progress Bytes Action
No downloads yet.
Hashes background SHA-256 of dir-scan files; default 1 at a time so small hardware (Pi / NUC) stays responsive
Name Status Progress Bytes Action
No hashes yet.
{% endif %} {% endblock %}