{#- Degraded service: human-readable cause, raw exception behind a disclosure with any API key redacted. -#} {% macro service_error(name, raw) %} {% endmacro %} {#- One service status pill in the header strip. -#} {% macro svc_pill(key, label, url, up, stat) %} {{ label }} {{ stat }} {% endmacro %}

Media Centre

—

Right now

Now playing

{%- if tautulli.status == 'ok' -%} {{ tautulli.active_streams }} active {%- endif -%}
{% if tautulli.status == 'ok' %}
{% if tautulli.sessions %} {% for s in tautulli.sessions %}
{{ s.title }} {{ s.user }}
{% endfor %} {% else %}

Nothing streaming right now.

{% endif %}
{% else %} {{ service_error("Tautulli", tautulli.error) }} {% endif %}

Downloads

{% if sabnzbd.status == 'ok' %} {% set st = sabnzbd.sab_status | lower %} {{ sabnzbd.sab_status }} {% endif %}
{% if sabnzbd.status == 'ok' %}
{{ sabnzbd.speed }}
{{ sabnzbd.queue_count }} queued · {{ sabnzbd.sizeleft }} left
Avg speed (7d)
{{ sabnzbd.avg_speed }}
Grabbed (7d)
{{ sabnzbd.completed_7d }}
Volume (7d)
{{ sabnzbd.week_size }}
{% else %} {{ service_error("SABnzbd", sabnzbd.error) }} {% endif %}

Storage

{% if unraid.status == 'ok' and unraid.array_state %} {{ unraid.array_state | capitalize }} {% endif %}
{% if unraid.status == 'ok' %} {% set pct = unraid.array_used_pct %}
{{ pct }}%
{{ unraid.array_free }} free of {{ unraid.array_total }}
{{ unraid.array_used }} used {% if unraid.disk_count %}{{ unraid.disk_count }} disk{{ 's' if unraid.disk_count != 1 }}{% endif %}
{% if unraid.source == "local" %}

Container disk usage ({{ unraid.mount }}). Set UNRAID_API_KEY for full array stats.

{% endif %} {% else %} {{ service_error("Unraid", unraid.error) }} {% endif %}

Library

{% if sonarr.status == 'ok' %}
Series
{{ sonarr.total_series }}
Missing episodes
{{ sonarr.missing_episodes }}
{% else %} {{ service_error("Sonarr", sonarr.error) }} {% endif %}
{% if radarr.status == 'ok' %}
Movies
{{ radarr.total_movies }}
Missing
{{ radarr.missing_movies }}
{% else %} {{ service_error("Radarr", radarr.error) }} {% endif %}

Discover — not in your library yet

Popular TV on Rotten Tomatoes

{% if rt_tv and rt_tv[0] is defined and rt_tv[0].error is defined %}

Couldn't load TV recommendations.

{% elif rt_tv %}
{% for show in rt_tv %}
{{ loop.index }} {% if show.poster %} {% else %}{% endif %}
{{ show.title }}{% if show.year %} ({{ show.year }}){% endif %}
{% if show.certified %}Certified Fresh {% elif show.critics_score %}{{ show.critics_score }}% critics{% endif %} {% if show.audience_score %}{{ show.audience_score }} audience{% endif %}

{{ show.description[:180] ~ '…' if show.description and show.description|length > 180 else (show.description or '') }}

{% endfor %}
{% if rt_tv | length > 5 %} {% endif %} {% else %}

No TV recommendations available.

{% endif %}

Top box office on Rotten Tomatoes

{% if rt_movies and rt_movies[0] is defined and rt_movies[0].error is defined %}

Couldn't load movie recommendations.

{% elif rt_movies %}
{% for movie in rt_movies %}
{{ loop.index }} {% if movie.poster %} {% else %}{% endif %}
{{ movie.title }}{% if movie.year %} ({{ movie.year }}){% endif %}
{% if movie.certified %}Certified Fresh {% elif movie.critics_score %}{{ movie.critics_score }}% critics{% endif %} {% if movie.audience_score %}{{ movie.audience_score }} audience{% endif %}

{{ movie.description[:180] ~ '…' if movie.description and movie.description|length > 180 else (movie.description or '') }}

{% endfor %}
{% if rt_movies | length > 5 %} {% endif %} {% else %}

No movie recommendations available.

{% endif %}

Requests & indexers

Requests — Ombi

{% if ombi.status == 'ok' %} {{ ombi.total_pending }} pending of {{ ombi.total_requests }} {% endif %}
{% if ombi.status == 'ok' %} {% if ombi.recent %}
{% for req in ombi.recent %}
{{ req.type }}
{{ req.title }}
{{ req.user }} · {{ req.date_display }}
{{ req.status }}
{% endfor %}
{% else %}

No recent requests.

{% endif %} {% else %} {{ service_error("Ombi", ombi.error) }} {% endif %}

Indexers — Prowlarr

{% if prowlarr.status == 'ok' %} {{ prowlarr.up_count }}/{{ prowlarr.total }} online {% endif %}
{% if prowlarr.status == 'ok' %}
{% for idx in prowlarr.indexers %}
{{ idx.name }}
{% endfor %}
{% else %} {{ service_error("Prowlarr", prowlarr.error) }} {% endif %}
{% if tautulli.status == 'ok' %}

Watch insights — last 30 days

Most played

{% if tautulli.top_played %}
{% for item in tautulli.top_played %}
{{ loop.index }}
{{ item.title }}
{{ item.user }}
{% set mt = item.media_type | lower %} {{ 'TV' if mt == 'episode' else ('Movie' if mt == 'movie' else mt or '?') }} {{ item.plays }}×
{% endfor %}
{% else %}

No play history yet.

{% endif %}

Top viewers

{% if tautulli.top_users %}
{% for u in tautulli.top_users %}
{{ loop.index }}
{{ u.username }}
{{ u.plays }} plays
{% endfor %}
{% else %}

No viewer data yet.

{% endif %}
{% if tautulli.top_tv_list or tautulli.top_movie_list %}

Top TV

{% if tautulli.top_tv_list %}
{% for item in tautulli.top_tv_list %}
{{ loop.index }}
{{ item.title }}
{{ item.plays }} plays
{% endfor %}
{% else %}

No data yet.

{% endif %}

Top movies

{% if tautulli.top_movie_list %}
{% for item in tautulli.top_movie_list %}
{{ loop.index }}
{{ item.title }}
{{ item.plays }} plays
{% endfor %}
{% else %}

No data yet.

{% endif %}
{% endif %}
{% endif %}