{% 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 }}
Add image by URL
Image URL is required. Provide a SHA URL (a sha256sum-style manifest) to enable per-machine binding to this image; without it the entry is URL-only (flashable, but not bindable to a machine).
{% if not unified %}
No images yet. Add one with the form above, drop a .qcow2 / .img / .img.zst / .img.xz / .img.gz / .img.bz2 file under {{ image_root }}, or author a catalog.toml manifest. 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 }} {% elif s.kind == "url" %} {{ 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 %} {# Operator-added catalog_entries rows are identified by a ``url``-kind source. Show a Delete button to remove via the ``DELETE /catalog/entries?src=...`` API. #} {% set url_src = u.sources|selectattr('kind','equalto','url')|map(attribute='location')|first %} {% if url_src %} {% 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 %}