{% macro donut(label, pct, subtitle, value_text=None) %} {% set p = pct if pct is not none else 0 %} {% if p < 0 %}{% set p=0 %}{% endif %} {% if p> 100 %}{% set p = 100 %}{% endif %} {% if p < 60 %} {% set col="#16a34a" %} {% elif p < 85 %} {% set col="#f59e0b" %} {% else %} {% set col="#ef4444" %} {% endif %} {% set r=24 %} {% set stroke=10 %} {% set c=2 * 3.1415926 * r %} {% set dash=(p / 100.0) * c %} {% set txt=value_text if value_text else (p|round(0) ~ "%" ) %}
{{ txt }}
{{ label }}
live
{{ subtitle }}
{% endmacro %}

๐Ÿ“Š Live Usage

{{ donut("CPU", data.gauges.cpu_total_pct, "Sum of container CPU% (clamped)") }} {{ donut("RAM", data.gauges.ram_pct, "All containers vs host RAM", (data.gauges.ram_used_h ~ " / " ~ data.gauges.ram_total_h)) }} {{ donut("Docker disk", data.gauges.docker_images_pct, "Images used vs total store") }}

๐Ÿ’ป System

๐Ÿ–ฅ๏ธ Host
{{ data.system.name or "โ€”" }}
{{ data.system.operating_system }} ยท {{ data.system.kernel_version }}
โšก Compute
{{ data.system.cpus or "โ€”" }} CPUs
{{ data.system.mem_total_h or "โ€”" }} RAM
๐Ÿณ Docker
Engine: {{ data.system.server_version or "โ€”" }}
Images: {{ data.system.images or "โ€”" }}
Containers: {{ data.system.containers_running or "โ€”" }} running / {{ data.system.containers_stopped or "โ€”" }} stopped

๐Ÿ’พ Docker Disk Usage

{% for typ, r in data.system.system_df.items() %} {% endfor %}
Type Total Active Size Reclaimable
{{ typ }} {{ r.total }} {{ r.active }} {{ r.size }} {{ r.reclaimable }}
โฑ๏ธ Generated at: {{ data.generated_at }}
{% if data.warnings %}
โš ๏ธ Warnings
{% endif %}

๐Ÿš€ Apps

{% for r in data.apps %} {% endfor %}
App URL Status CPU RAM Restarts Image
{{ r.app }} {{ r.url }} {{ r.status }} {{ r.cpu or "โ€”" }} {% if r.mem_used %} {{ r.mem_used }} / {{ r.mem_limit }} ({{ r.mem_pct }}) {% else %} โ€” {% endif %} {{ r.restarts }} {{ r.image }}
{% if data.infra %}

๐Ÿ—๏ธ Infra

{% for r in data.infra %} {% endfor %}
Container Status CPU RAM Restarts Image
{{ r.container }} {{ r.status }} {{ r.cpu or "โ€”" }} {% if r.mem_used %} {{ r.mem_used }} / {{ r.mem_limit }} ({{ r.mem_pct }}) {% else %} โ€” {% endif %} {{ r.restarts }} {{ r.image }}
{% endif %}