Files
monitorRPi/docs.html
T
2026-06-02 17:31:57 +02:00

127 lines
3.9 KiB
HTML

<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Documentacion Monitor RPi</title>
<style>
body {
margin: 0;
font-family: "Segoe UI", system-ui, sans-serif;
background: #f4f6f7;
color: #172127;
line-height: 1.55;
}
header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 22px 28px;
border-bottom: 1px solid #d4dce1;
background: #ffffff;
}
main {
max-width: 980px;
margin: 0 auto;
padding: 28px;
}
h1 { margin: 0; font-size: 24px; }
h2 { margin-top: 30px; border-bottom: 1px solid #d4dce1; padding-bottom: 8px; }
h3 { margin-top: 20px; }
code, pre { background: #eef2f4; border-radius: 8px; }
code { padding: 2px 5px; }
pre { padding: 14px; overflow: auto; }
a {
color: #2f7fb8;
text-decoration: none;
font-weight: 650;
}
.nav {
display: flex;
gap: 10px;
flex-wrap: wrap;
}
</style>
</head>
<body>
<header>
<h1>Documentacion Monitor RPi</h1>
<nav class="nav">
<a href="/dashboard.html">Dashboard</a>
<a href="/config.html">Configuracion</a>
</nav>
</header>
<main>
<h2>Resumen</h2>
<p>Aplicacion web para monitorizar Raspberry Pi mediante SSH desde un contenedor dedicado. El dashboard muestra el ultimo estado calculado por el backend; el navegador no abre conexiones SSH.</p>
<h2>Rutas</h2>
<ul>
<li><code>/dashboard.html</code>: vista principal.</li>
<li><code>/config.html</code>: configuracion.</li>
<li><code>/api/status</code>: estado actual.</li>
</ul>
<h2>Configuracion</h2>
<p>La configuracion persistente esta en <code>/home/yamaray/docker/monitorRPi/data/config.json</code>, montada dentro del contenedor como <code>/data/config.json</code>.</p>
<h3>Generales</h3>
<ul>
<li><code>mockMode</code>: usa datos simulados si es true.</li>
<li><code>refreshIntervalSeconds</code>: scan activo con clientes visibles.</li>
<li><code>idleScanIntervalSeconds</code>: scan lento sin clientes visibles.</li>
<li><code>sshTimeoutSeconds</code>: timeout por consulta SSH.</li>
<li><code>temperatureThresholdsC</code>: umbrales de temperatura.</li>
<li><code>metricThresholdsPercent</code>: umbrales de CPU, RAM y disco.</li>
</ul>
<h3>Dispositivos</h3>
<ul>
<li><code>active</code>: incluye o excluye el dispositivo del scan.</li>
<li><code>id</code>: identificador interno unico.</li>
<li><code>name</code>: nombre visible.</li>
<li><code>host</code>: IP o DNS.</li>
<li><code>port</code>: puerto SSH.</li>
<li><code>username/password</code>: credenciales SSH.</li>
<li><code>model</code>: modelo visible.</li>
<li><code>role</code>: funcion del equipo.</li>
<li><code>location</code>: ubicacion.</li>
</ul>
<h2>API</h2>
<h3>GET /api/status</h3>
<p>Devuelve el ultimo estado: resumen, dispositivos, umbrales, clientes activos e intervalo actual.</p>
<h3>GET /api/config</h3>
<p>Devuelve la configuracion completa.</p>
<h3>POST /api/config</h3>
<p>Guarda la configuracion completa y reinicia el ciclo de scan.</p>
<h3>POST /api/reload</h3>
<p>Recarga la configuracion desde disco.</p>
<h3>POST /api/scan-now</h3>
<p>Fuerza un scan SSH inmediato.</p>
<h3>POST /api/client-heartbeat</h3>
<p>Usado por el dashboard visible para activar el intervalo rapido.</p>
<h3>POST /api/clients/clear</h3>
<p>Limpia los clientes activos en memoria.</p>
<h2>Escaneo Adaptativo</h2>
<pre><code>0 clientes visibles -> idleScanIntervalSeconds
1+ clientes visibles -> refreshIntervalSeconds</code></pre>
<h2>Docker</h2>
<pre><code>cd /home/yamaray/docker/monitorRPi
docker compose up -d --build</code></pre>
</main>
</body>
</html>