{# plugins/traefik/templates/traefik/traffic.html #} {% if summary %} {# ── Overview bar ─────────────────────────────────────────────────────────── #}
Total {{ summary.total }} Internal {{ summary.internal }} External {{ summary.external }} ({{ "%.1f"|format(summary.external_pct) }}%) Bytes {{ summary.total_bytes|bytes }} {# External % sparkline #} ext % over time {{ summary.sparkline_external | safe }}
{# ── Internal/external fill bar ───────────────────────────────────────────── #} {% set ext_pct = summary.external_pct %}
{# ── Detail cards in columns ──────────────────────────────────────────────── #}
{# Top source IPs #}
Top Source IPs
{% for entry in summary.top_ips %} {% if entry.country %} {% endif %} {% endfor %}
{{ entry.ip }}{{ entry.country }} {{ entry.count }}
{# Top routers #}
Top Services Hit
{% for entry in summary.top_routers %} {% endfor %}
{{ entry.router }} {{ entry.count }}
{# Top countries (only shown if GeoIP is active) #} {% if summary.top_countries %}
External Traffic by Country
{% for entry in summary.top_countries %} {% endfor %}
{{ entry.country }} {{ entry.count }}
{% endif %}
{% else %}
{% if not access_log_enabled %} The access log is off. Turn it on in Settings → Plugins → Traefik, and mount Traefik's log directory into Steward so it can read the file. {% else %} No requests in the last {{ range_key }}. The access log is on; if this stays empty, check that {% if access_log_path %}{{ access_log_path }}{% else %}the log path{% endif %} is mounted into Steward and that Traefik is writing to it. {% endif %}
{% endif %}