diff --git a/templates/apps_table.html b/templates/apps_table.html index b860d8a..58838e1 100644 --- a/templates/apps_table.html +++ b/templates/apps_table.html @@ -1,257 +1,315 @@ -{% macro donut(label, pct, subtitle, value_text=None) %} +{% macro gauge(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) ~ "%" ) %}
+ +
- - - - - - + [{{ status }}] +
- - + +
+ > {{ label }} +
- - + +
+ {{ txt }} +
- - {{ txt }} - + +
+ {{ subtitle }} +
-
-
-
{{ label }}
-
- live -
-
+ +
+
+
-
- {{ subtitle }} -
- -
-
-
+ +
+ {% set blocks = (p / 5)|round(0)|int %} + {% set empty = 20 - blocks %} + [{% for i in range(blocks) %}โ–ˆ{% endfor %}{% for i in range(empty) %}โ–‘{% endfor %}]
{% endmacro %} -

- ๐Ÿ“Š Live Usage

+

[ LIVE METRICS ]

- {{ 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 ~ " / " ~ + style="display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin: 0 0 32px 0;"> + {{ gauge("CPU", data.gauges.cpu_total_pct, "Sum of container CPU% (clamped)") }} + {{ gauge("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") }} + {{ gauge("DOCKER_DISK", data.gauges.docker_images_pct, "Images used vs total store") }}
-

๐Ÿ’ป - System

+

[ SYSTEM INFO ]

+ style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 0 0 32px 0;">
-
- ๐Ÿ–ฅ๏ธ Host
-
{{ data.system.name - or "โ€”" }}
-
{{ data.system.operating_system }} ยท {{ - data.system.kernel_version }}
+ border: 2px solid #30363d; + background: rgba(0, 217, 255, 0.02); + padding: 20px; + transition: all 0.3s ease; + " onmouseover="this.style.borderColor='#00d9ff'; this.style.boxShadow='0 0 20px rgba(0, 217, 255, 0.3)';" + onmouseout="this.style.borderColor='#30363d'; this.style.boxShadow='none';"> +
+ [HOST] +
+
+ {{ data.system.name or "โ€”" }} +
+
+ {{ data.system.operating_system }}
+ Kernel: {{ data.system.kernel_version }} +
-
- โšก Compute
-
{{ data.system.cpus or "โ€”" }} CPUs
-
{{ data.system.mem_total_h or "โ€”" }} RAM
+ border: 2px solid #30363d; + background: rgba(0, 255, 136, 0.02); + padding: 20px; + transition: all 0.3s ease; + " onmouseover="this.style.borderColor='#00ff88'; this.style.boxShadow='0 0 20px rgba(0, 255, 136, 0.3)';" + onmouseout="this.style.borderColor='#30363d'; this.style.boxShadow='none';"> +
+ [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
+ border: 2px solid #30363d; + background: rgba(255, 184, 108, 0.02); + padding: 20px; + transition: all 0.3s ease; + " onmouseover="this.style.borderColor='#ffb86c'; this.style.boxShadow='0 0 20px rgba(255, 184, 108, 0.3)';" + onmouseout="this.style.borderColor='#30363d'; this.style.boxShadow='none';"> +
+ [DOCKER] +
+
+ Engine: {{ data.system.server_version or "โ€”" + }} +
+
+ Images: {{ data.system.images or "โ€”" }} +
+
+ Containers: {{ data.system.containers_running or "โ€”" + }} up / {{ data.system.containers_stopped + or "โ€”" }} down +
- -

๐Ÿ’พ - Docker Disk Usage

-
- +

DOCKER DISK USAGE

+
+
- - - - - + + + + + {% for typ, r in data.system.system_df.items() %} - - - - - - + + + + + + {% endfor %}
- Type - Total - Active - Size - ReclaimableTYPETOTALACTIVESIZERECLAIMABLE
{{ typ }}{{ r.total }}{{ r.active }}{{ r.size }}{{ r.reclaimable }}
[{{ typ }}]{{ r.total }}{{ r.active }}{{ r.size }}{{ r.reclaimable }}
-
โฑ๏ธ Generated at: {{ - data.generated_at }}
+
+ [TIMESTAMP] {{ data.generated_at }} +
{% if data.warnings %}
- โš ๏ธ - Warnings -
    + margin: 24px 0; + padding: 16px 20px; + border: 2px solid #ffb86c; + background: rgba(255, 184, 108, 0.05); + position: relative; +"> +
    + [!! WARNINGS !!] +
    +
      {% for w in data.warnings %} -
    • {{ w }}
    • +
    • {{ w }}
    • {% endfor %}
{% endif %} -

๐Ÿš€ - Apps

-
- +

[ APPLICATIONS ]

+
+
- - - - - - - + + + + + + + {% for r in data.apps %} - - - - - - + + + + + - - + + {% endfor %} @@ -259,50 +317,50 @@ {% if data.infra %} -

- ๐Ÿ—๏ธ Infra

-
-
- App - URL - Status - CPU - RAM - Restarts - ImageAPPURLSTATUSCPURAMRESTARTSIMAGE
{{ r.app }}{{ r.url - }}{{ - r.status }}{{ r.cpu or "โ€”" }} +
{{ r.app }} + + {{ r.url }} + + + + {{ r.status }} + + {{ r.cpu or "โ€”" }} {% if r.mem_used %} - {{ r.mem_used }} / {{ r.mem_limit }} ({{ - r.mem_pct }}) + {{ r.mem_used }} / {{ r.mem_limit }} + ({{ r.mem_pct }}) {% else %} โ€” {% endif %} {{ r.restarts }}{{ r.image }} + {{ r.restarts }} + {{ r.image }}
+

[ INFRASTRUCTURE ]

+
+
- - - - - - + + + + + + {% for r in data.infra %} - - - - - + + + + - - + + {% endfor %} diff --git a/templates/index.html b/templates/index.html index 588a944..6f67142 100644 --- a/templates/index.html +++ b/templates/index.html @@ -4,101 +4,230 @@ - Status - peterstockings.com + DokkuStatus :: Terminal + href="data:image/svg+xml,โšก" /> - +
-
-

Status Dashboard

+
+
+ root@dokku:~$ +

DokkuStatus

+
- ๐Ÿ”„ Auto-refresh every {{ poll_seconds }}s - โ€ข - ๐Ÿ“Š JSON API - โ€ข + [LIVE] + | + REFRESH: {{ poll_seconds }}s + | + + + + + JSON_API + + | - + rel="noopener noreferrer"> + - Source + SOURCE
-
+
-
Loading status data
+
INITIALIZING SYSTEM
- Container - Status - CPU - RAM - Restarts - ImageCONTAINERSTATUSCPURAMRESTARTSIMAGE
{{ r.container }}{{ - r.status }}{{ r.cpu or "โ€”" }} +
{{ r.container }} + + {{ r.status }} + + {{ r.cpu or "โ€”" }} {% if r.mem_used %} - {{ r.mem_used }} / {{ r.mem_limit }} ({{ - r.mem_pct }}) + {{ r.mem_used }} / {{ r.mem_limit }} + ({{ r.mem_pct }}) {% else %} โ€” {% endif %} {{ r.restarts }}{{ r.image }} + {{ r.restarts }} + {{ r.image }}