Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

NanoStatus

NanoStatus es una página de monitorización ligera y autoalojada construida con Go y React. Permite rastrear el estado, tiempos de respuesta y disponibilidad de servicios web en tiempo real mediante Server-Sent Events (SSE). Utiliza SQLite para persistencia y ofrece una interfaz moderna con tema oscu

Ficha actualizada 26 sept 2026, 19:57 · upstream 26 sept 2026, 19:34 · release v1.3.1

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

Qué es NanoStatus

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

NanoStatus es un dashboard de monitorización ligero diseñado para autoalojarse, construido con un backend en Go y un frontend en React. Su objetivo principal es proporcionar una vista clara del estado (uptime), los tiempos de respuesta y la salud de diversos servicios web en tiempo real. La aplicación utiliza Server-Sent Events (SSE) para enviar actualizaciones instantáneas a los clientes, evitando la latencia asociada al polling HTTP tradicional.

La persistencia de datos se maneja mediante una base de datos SQLite, lo que permite un almacenamiento local eficiente sin necesidad de servicios externos complejos. La configuración inicial puede realizarse mediante un archivo YAML opcional (`monitors.yaml`), el cual se sincroniza en cada arranque del servidor para gestionar la creación o actualización de monitores basándose en hashes de configuración.

En cuanto al despliegue, NanoStatus ofrece una imagen Docker multi-etapa optimizada que resulta en un contenedor ultra-ligero (aproximadamente 16MB) con arquitectura distroless. Esto facilita su integración en entornos de recursos limitados como Raspberry Pi o servidores headless. Para el desarrollo local, se requieren Go 1.24+ y Bun para el frontend.

CASOS DE USO
  • Monitorización de infraestructura personal (Home Lab) con bajo consumo de recursos.
  • Dashboard centralizado para verificar la disponibilidad de servicios SaaS o APIs externas.
  • Herramienta de observabilidad ligera en dispositivos ARM como Raspberry Pi Zero.
  • Visualización histórica de tiempos de respuesta mediante gráficos interactivos.
  • Gestión de múltiples monitores con intervalos de comprobación personalizados por servicio.
PUNTOS DESTACADOS
  • Imagen Docker ultra-ligera (~16MB) construida con arquitectura distroless para máxima eficiencia.
  • Actualizaciones en tiempo real vía SSE, eliminando la latencia del polling HTTP tradicional.
  • Base de datos SQLite integrada para persistencia local sin dependencias externas pesadas.
  • Interfaz moderna con tema oscuro y efectos glassmorphism para una experiencia visual fluida.
  • Configuración inicial mediante archivo YAML sincronizado en cada arranque del servidor.
  • Gestión completa vía API REST para crear, editar o pausar monitores sin interfaz gráfica.
PRECAUCIONES
  • Requiere Go 1.24+ para la compilación local del backend según las especificaciones actuales.
  • No incluye Docker Compose nativo en el repositorio, solo Dockerfile y Makefile.
  • La limpieza automática elimina datos históricos de comprobación mayores a 1 año diariamente.
  • Necesita un volumen persistente (`/data`) para mantener la base de datos SQLite en entornos Docker.
  • El archivo YAML de configuración debe ubicarse en el mismo directorio que la base de datos.
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

Alt text
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker detectado

Para despliegue con Docker, use la imagen `gjames8/nanostatus`. Ejecute el contenedor mapeando el puerto 8080 y montando un volumen persistente para la base de datos: `-v "$(pwd)/data:/data"`. Asegúrese de colocar el archivo `monitors.yaml` en `/data/` si desea configurar monitores iniciales. El servidor escuchará en el puerto definido por la variable de entorno `PORT` (default 8080). Para desarrollo local, compile el frontend con Bun y ejecute el backend Go directamente.

✓Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
ReactNode.jsGo
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
8080
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.