nginx-hibernator
Módulo dinámico de NGINX escrito en Rust que hiberna servicios inactivos integrándose con systemd, reduciendo costes mediante detección automática de tráfico y gestión asíncrona del ciclo de vida.
Ficha actualizada 25 sept 2026, 9:22 · upstream 25 sept 2026, 9:16 · release v1.0.0-rc7
Qué es nginx-hibernator
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
nginx-hibernator es un módulo dinámico para NGINX desarrollado en Rust que automatiza la hibernación y activación de servicios backend basándose en la actividad detectada. El proyecto monitorea el tráfico entrante hacia ubicaciones configuradas y controla directamente los servicios systemd mediante dbus o CLI, permitiendo detener procesos inactivos tras un periodo configurable.
Durante la fase de arranque del servicio hibernado, NGINX devuelve respuestas 503 con una página de aterrizaje personalizada que muestra estimaciones de tiempo (ETA) calculadas históricamente. Las operaciones de salud y gestión de archivos se ejecutan asíncronamente para no bloquear los worker threads de NGINX. El módulo soporta checkpoints opcionales para confirmar interacción humana antes de activar servicios críticos.
La instalación requiere compilar desde fuente con Rust o usar el repositorio APT oficial para Debian trixie. Incluye scripts para builds reproducibles en contenedores Docker y gestión de paquetes firmados. La configuración se realiza mediante directivas específicas en nginx.conf que definen nombres de servicio, puertos de comprobación y tiempos de espera.
- Reducir costes de infraestructura en entornos autoalojados con picos de tráfico esporádicos
- Automatizar la recuperación de servicios backend bajo demanda sin intervención manual
- Gestionar recursos eficientemente en arquitecturas serverless o contenerizadas ligadas a systemd
- Implementar políticas de ahorro energético en servidores dedicados con baja actividad nocturna
- Integración nativa con systemd vía dbus/CLI para control preciso del ciclo de vida de servicios
- Cálculo de ETA basado en historial de arranques usando percentiles configurables (ej. 95º)
- Operaciones asíncronas para health checks y gestión de archivos que no bloquean worker threads
- Páginas de aterrizaje personalizadas con placeholders dinámicos para ETA, duración y tiempo transcurrido
- Mecanismo de checkpoint opcional con bypass mediante headers HTTP para automatización segura
- Requiere compilación desde fuente con Rust o uso del repositorio APT específico para Debian trixie
- Dependencia crítica de systemd activo en el host para gestionar servicios backend
- No soporta despliegue one-click; requiere configuración manual de directivas NGINX
- El cálculo de ETA depende de datos históricos que deben acumularse tras periodos de inactividad
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Instalar desde el repositorio APT oficial para Debian trixie o compilar desde fuente con Rust. Usar scripts ./scripts/debian-build.sh para builds reproducibles en contenedores Docker. Configurar directivas hibernator en nginx.conf para cada ubicación que requiera ahorro de recursos. Verificar compatibilidad del backend con systemd y asegurar permisos de escritura en directorios de historial y landing pages.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
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.