{% extends "base.html" %} {% block title %}Maintenance - Admin - DigiServer v2{% endblock %} {% block content %}
Administrative tools for database health, leftover records and player authentication.
Runs SQLite's integrity_check, quick_check and
foreign_key_check to confirm the database file is healthy and
no rows reference missing parents. Optimize runs
VACUUM and ANALYZE to reclaim free space.
Rows that point at a player, playlist or content item that no longer exists — typically left behind after deleting a player. Cleaning removes them (or clears the dangling link); it never touches valid data.
Requests that a player authenticate again. The player is told on its next heartbeat and receives a fresh token when it does — its current token stays valid until then, so playlist syncing is not interrupted.
ℹ️ This asks the player to re-authenticate; it is not a forced logout. A player whose software does not yet handle the request keeps working on its existing token and simply stays awaiting re-auth below. Players do not need a password — the quick-connect code they already hold is enough.
| Player | Status | Token Age | Re-auth | Actions |
|---|---|---|---|---|
|
{{ player.name }}
{{ player.hostname }}
|
{% if player.is_online %} ● Online {% else %} ○ {{ player.status or 'offline' }} {% endif %} |
{% if age is not none %}
{{ '%.1f'|format(age) }} day(s)
{% if player.auth_token_issued_at %}
issued {{ player.auth_token_issued_at | localtime('%Y-%m-%d %H:%M') }}
{% endif %}
{% else %}
—
{% endif %}
|
{% if player.auth_reset_required %} awaiting re-auth {% else %} — {% endif %} | {% if player.auth_reset_required %} {% endif %} |
| No players registered yet. | ||||