{% extends "base.html" %} {% block title %}Dashboard — pngx-controller{% endblock %} {% block content %}

Dashboard

{% if flash %}
{{ flash }}
{% endif %}
{% if progress.running %} {{ progress.phase }} {% if progress.docs_total > 0 %} {{ progress.docs_done }} / {{ progress.docs_total }} documents {% else %} {% endif %} {% endif %}
{% if last_run %}
Last sync run — {% if last_run.finished_at %} {{ last_run.finished_at.strftime('%Y-%m-%d %H:%M') }} UTC  ·  {{ last_run.docs_synced }} synced, {{ last_run.docs_failed }} failed {% if last_run.timed_out %} timed out{% endif %} {% else %} running… {% endif %}

Triggered by: {{ last_run.triggered_by }} — Run #{{ last_run.id }}

{% endif %}
Loading document counts…

Replicas

{% if replica_rows %}
{% for row in replica_rows %} {% endfor %}
Name URL Status Lag Last run Actions
{{ row.replica.name }} {{ row.replica.url }} {{ row.status }} {% if row.replica.suspended_at %}
{{ row.replica.consecutive_failures }} failures {% endif %}
{{ row.lag }} {% if row.last_run %} {{ row.last_run.docs_synced }} {% if row.last_run.docs_failed %}   {{ row.last_run.docs_failed }} {% endif %} {% else %} never {% endif %} Details {% if row.replica.suspended_at %} {% endif %}
{% else %}

No replicas configured. Add one →

{% endif %} {% endblock %}