Repolode
sablierapp

sablierapp/sablier

Inicia contenedores y otras cargas de trabajo cuando llegan solicitudes y las detiene tras un periodo de inactividad; funciona con proxies inversos.

Estrellas
3,111
Forks
108
Issues abiertos
68
Último commit
ayer

¿Qué es?

Sablier es un servidor autohospedado que inicia cargas de trabajo inactivas cuando llega una solicitud y las detiene tras un periodo de inactividad configurable. Admite Docker, Docker Swarm, Podman, Kubernetes, Proxmox LXC y systemd como proveedores, por lo que el mismo enfoque funciona con distintos entornos de contenedores y hosts.

Sablier suele combinarse con un plugin de proxy inverso para Traefik, Caddy, Nginx, Envoy, Apache APISIX o Istio. El plugin intercepta las solicitudes entrantes, llama a la API de Sablier para activar el servicio de destino y muestra una página de espera hasta que esté listo. Las sesiones pueden solicitarse con una estrategia bloqueante, que mantiene la conexión abierta, o con una estrategia dinámica, que muestra una página de carga con un tema visual.

Además de detener cargas de trabajo, Sablier puede limitar la CPU, la memoria y la E/S de bloques en lugar de detenerlas en el modo de escalado, y permite que un grupo ceda recursos a otro mediante la antiafinidad. También ofrece webhooks para eventos de inicio y detención, métricas de Prometheus y trazas de OpenTelemetry.

Funciones clave

  • 01Inicia y detiene cargas de trabajo de Docker, Swarm, Podman, Kubernetes, Proxmox LXC y systemd bajo demanda.
  • 02Se integra con Traefik, Caddy, Nginx, Envoy, Apache APISIX e Istio mediante plugins de proxy.
  • 03Muestra una página de espera personalizable con temas mientras se activa una carga de trabajo.
  • 04El modo de escalado limita la CPU y la memoria cuando están inactivas, en lugar de detener los contenedores.
  • 05Envía notificaciones por webhook cuando una instancia se inicia o se detiene.
  • 06Expone métricas de Prometheus y trazas de OpenTelemetry.

Casos de uso

  • Ejecutar servicios en una Raspberry Pi y mantener detenidas las aplicaciones que se usan poco hasta que alguien las visite.
  • Evitar que los entornos de QA o staging que solo se usan ocasionalmente consuman recursos.
  • Reducir a cero las implementaciones inactivas de Kubernetes para bajar los costos de la nube.
  • Permitir que un servicio que consume muchos recursos de GPU ceda memoria a otro servicio que esté en uso.

Inicio rápido

  1. 1

    Ejecuta el servidor de Sablier con Docker (copia compose.yaml del README).

    docker run --name sablier -p 10000:10000 -v /var/run/docker.sock:/var/run/docker.sock sablierapp/sablier:1.10.5 start --provider.name=docker
  2. 2

    Inicia un contenedor de demostración con etiquetas de Sablier.

    docker run -d --health-cmd "/mimic healthcheck" -p 8080:80 --name mimic --label sablier.enable=true --label sablier.group=demo sablierapp/mimic:v0.3.3 -running -running-after=5s -healthy=true -healthy-after=5s
  3. 3

    Solicita una sesión para el grupo de demostración a través de la API de Sablier.

    curl -v http://localhost:10000/api/strategies/blocking\?group\=demo\&session_duration\=20s

Antes de usarlo

  • Necesita acceso a un socket de Docker, la API de Kubernetes, una instalación de Podman o Proxmox para gestionar cargas de trabajo.
  • Los contenedores deben definir un healthcheck para escalar a cero de forma fiable.
  • Licenciado bajo AGPL-3.0, una licencia copyleft con obligaciones relativas al uso a través de la red.

En colecciones

Temas

Preguntas frecuentes

¿Qué es sablier?
Inicia contenedores y otras cargas de trabajo cuando llegan solicitudes y las detiene tras un periodo de inactividad; funciona con proxies inversos. Sablier es un servidor autohospedado que inicia cargas de trabajo inactivas cuando llega una solicitud y las detiene tras un periodo de inactividad configurable. Admite Docker, Docker Swarm, Podman, Kubernetes, Proxmox LXC y systemd como proveedores, por lo que el mismo enfoque funciona con distintos entornos de contenedores y hosts.
¿sablier es gratuito? ¿Qué licencia tiene?
sablier es open source bajo la licencia AGPL-3.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿sablier sigue mantenido?
Mantenimiento activo. El último commit de sablier fue el 5 nov 2026.
¿Para qué puedo usar sablier?
Ejecutar servicios en una Raspberry Pi y mantener detenidas las aplicaciones que se usan poco hasta que alguien las visite. Evitar que los entornos de QA o staging que solo se usan ocasionalmente consuman recursos. Reducir a cero las implementaciones inactivas de Kubernetes para bajar los costos de la nube. Permitir que un servicio que consume muchos recursos de GPU ceda memoria a otro servicio que esté en uso.
¿Cómo se instala sablier?
Ejecuta el servidor de Sablier con Docker (copia compose.yaml del README).: docker run --name sablier -p 10000:10000 -v /var/run/docker.sock:/var/run/docker.sock sablierapp/sablier:1.10.5 start --provider.name=docker Inicia un contenedor de demostración con etiquetas de Sablier.: docker run -d --health-cmd "/mimic healthcheck" -p 8080:80 --name mimic --label sablier.enable=true --label sablier.group=demo sablierapp/mimic:v0.3.3 -running -running-after=5s -healthy=true -healthy-after=5s Solicita una sesión para el grupo de demostración a través de la API de Sablier.: curl -v http://localhost:10000/api/strategies/blocking\?group\=demo\&session_duration\=20s
¿Dónde consigo sablier?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/sablierapp/sablier

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados