El problema
Cuando eres el único dueño de un servidor casero, para saber qué está pasando adentro normalmente tienes dos opciones: conectarle un monitor, un teclado y un mouse directamente, o conectarte por SSH desde otra computadora y escribir comandos para averiguarlo.
La idea
Hostra convierte lo que normalmente se averigua a base de comandos en un panel claro y en vivo. Desde el navegador o desde la app en tu celular ves de un vistazo cómo está tu servidor, qué falla y qué hacer al respecto y, solo si tú lo permites, actúas sobre él, sin conectarte por SSH ni escribir comandos para cada revisión.
Qué hace
- Muestra el CPU, la memoria, el almacenamiento (con un pronóstico de cuándo se llenará cada volumen) y la salud de los discos.
- Muestra la red y los puertos con su dueño, los servicios de systemd con sus registros, los contenedores de Docker y un resumen del tráfico de Zoraxy, el reverse proxy.
- Sus alertas dicen qué pasó, muestran la evidencia y señalan qué hacer al respecto.
- Solo si tú lo permites, puede iniciar, detener y reiniciar servicios y contenedores, y hacer limpiezas seguras de espacio.
- La app de Android, Hostra Companion, ofrece lo mismo desde el celular, con notificaciones de alertas y una terminal.
Cómo está hecho
Un agente en Go corre como usuario normal en el servidor Linux con systemd y sirve el dashboard, hecho con React y TypeScript, que ya viene integrado: no hay nada más que ejecutar. El estado se guarda en SQLite.
Lo poco que necesita permisos de root lo hacen cinco programas diminutos y separados: salud de los discos, limpieza, política, dueño de los puertos y terminal. systemd inicia cada uno solo cuando llega una petición, desde un socket que únicamente puede usar la cuenta del agente, y cada uno acepta un solo tipo de petición.
Decisiones
- Por defecto el dashboard solo observa: ninguna acción sobre el servidor está permitida hasta que tú la habilites.
- Lo que Hostra puede hacer lo define un archivo de política que solo root puede escribir. El instalador crea uno que no permite nada; los permisos se conceden en Ajustes y las acciones sensibles piden escribir el nombre antes.
- Está pensado para un solo dueño y un solo servidor, no para flotas: cada navegador o teléfono se empareja una vez con un código.
- El instalador explica lo que va a hacer y pregunta antes de cambiar algo, y permite revisar los pasos sin ejecutarlos.
- La terminal es para revisiones rápidas, no para reemplazar a SSH: corre en su propia unidad de systemd como un usuario desechable, sin grupos ni sudo, con el sistema en solo lectura y límites de memoria y de tiempo.
Estado actual
Versión 1.0.0, con el código público en GitHub bajo licencia MIT. No hay binarios para descargar: se compila en el propio servidor con el instalador. La app de Android es un proyecto aparte, Hostra Companion.