The Docker page opens with a "Needs attention" card: every container
with something wrong, worst problem first — restarting, crash-looping,
unhealthy, OOM-killed, exited non-zero — each with what it does ("is
restarting and keeps dying · exit 1 · since 8m ago"), linked to its page.
It is ranked by the same code as the MCP tools: container_problems,
problem_since and the per-container ranking move from mcp_tools into
service.py (ranked_containers, needs_attention), and mcp_tools' _rows and
findings now read them from there.
Counts follow as stat tiles: needs attention, unhealthy, restarting (or
crash-looping), running, stopped, stale, services, hosts.
A container whose last report is older than the host agent's staleness
window (stale_after_seconds, 180 s by default) carries a Stale badge with
when it last reported, instead of a live-looking green dot.
The per-container CPU and memory history columns are gone from the
overview, and with them one history query per container per refresh; the
container's own page keeps its charts. With nothing left to range over,
the time-range control goes too, and the page now refreshes on the poll
interval. CPU and memory are graded by Settings → Thresholds rather than
50/80 and 70/90 written into the template.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
17 lines
674 B
HTML
17 lines
674 B
HTML
{% extends "base.html" %}
|
|
{% from "_macros.html" import page_header %}
|
|
{% block title %}Docker — Steward{% endblock %}
|
|
{% block content %}
|
|
{% call page_header("Docker", "What needs attention first, then every service and container.") %}
|
|
{% if has_swarm %}<a class="btn btn-sm btn-ghost" href="/plugins/docker/swarm">Swarm</a>{% endif %}
|
|
{% if has_disk %}<a class="btn btn-sm btn-ghost" href="/plugins/docker/disk">Disk</a>{% endif %}
|
|
{% endcall %}
|
|
|
|
<div id="docker-rows"
|
|
hx-get="/plugins/docker/rows"
|
|
hx-trigger="load, every {{ poll_interval }}s"
|
|
hx-swap="innerHTML">
|
|
<div class="card"><p class="field-hint">Loading…</p></div>
|
|
</div>
|
|
{% endblock %}
|