{% extends "base.html" %} {% block content %}

Control room

Your homelab,
behind one door.

Every service below gets a real hostname, a valid certificate, and a passkey at the edge. Add a route and it is live immediately.

{% for warning in warnings %}
{{ warning }}
{% endfor %}
Services online
{{ stats.online }}/ {{ stats.services }}
{{ stats.enabled }} enabled · {{ stats.services - stats.enabled }} paused
Requests proxied
{{ "{:,}".format(stats.requests) }}
since this process started
Upstream errors
{{ "{:,}".format(stats.errors) }}
5xx and unreachable responses
Sign-ins today
{{ signins_today }}
last sign-in {{ last_login_display }}

Services {{ services|length }}

live health
{% for service in services %}

{{ service.name }}

{{ service.host }}
{{ service.status_label }}
{{ service.upstream }} {% if service.route.auth %} passkey {% else %} public {% endif %} {% if service.route.websocket %} ws {% endif %}
{{ service.latency ~ ' ms' if service.latency else '—' }} {{ service.requests }} req Open
{% else %}

The door is open.

Nothing is behind it yet. Add a hostname and an upstream, and Warden handles the rest.

{% endfor %}
{% endblock %} {% block modals %}
{% endblock %}