A lightweight web UI for managing Docker, Swarm, Podman, Kubernetes and ACI container environments.
sablierapp/sablier
Starts containers and other workloads on demand when requests arrive and stops them after a period of inactivity, working with reverse proxies.
- Stars
- 3,114
- Forks
- 106
- Open issues
- 68
- Last commit
- 20 hours ago
What is it?
Sablier is a self-hosted server that starts sleeping workloads when a request arrives and shuts them down after a configurable period of inactivity. It supports Docker, Docker Swarm, Podman, Kubernetes, Proxmox LXC and systemd as providers, so the same approach works across container runtimes and hosts.
Sablier is usually paired with a reverse proxy plugin for Traefik, Caddy, Nginx, Envoy, Apache APISIX or Istio. The plugin intercepts incoming requests, calls the Sablier API to wake the target service, and shows a waiting page until it is ready. Sessions can be requested with a blocking strategy that holds the connection, or a dynamic strategy that serves a themed loading page.
Beyond stopping workloads, Sablier can throttle CPU, memory and block I/O instead of stopping them in scale mode, and it can make one group yield resources to another through anti-affinity. It also offers webhooks for start and stop events, Prometheus metrics and OpenTelemetry tracing.
Key features
- 01Starts and stops Docker, Swarm, Podman, Kubernetes, Proxmox LXC and systemd workloads on demand.
- 02Integrates with Traefik, Caddy, Nginx, Envoy, Apache APISIX and Istio through proxy plugins.
- 03Shows a customizable waiting page with themes while a workload warms up.
- 04Scale mode throttles CPU and memory when idle instead of stopping containers.
- 05Sends webhook notifications on instance start and stop.
- 06Exposes Prometheus metrics and OpenTelemetry traces.
Use cases
- Running services on a Raspberry Pi and keeping rarely used apps stopped until someone visits them.
- Keeping QA or staging environments that are only used occasionally from consuming resources.
- Scaling idle Kubernetes deployments to zero to cut cloud costs.
- Letting a GPU-heavy service yield memory to another service that is in use.
Quick start
- 1
Run the Sablier server with Docker (copy the compose.yaml from the 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
Start a demo container with Sablier labels
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
Request a session for the demo group through the Sablier API
curl -v http://localhost:10000/api/strategies/blocking\?group\=demo\&session_duration\=20s
Things to know
- Needs a Docker socket, Kubernetes API, Podman or Proxmox setup to manage workloads.
- Containers must define a healthcheck to scale to zero reliably.
- Licensed under AGPL-3.0, a copyleft license with network-use obligations.
In collections
Topics
FAQ
- What is sablier?
- Starts containers and other workloads on demand when requests arrive and stops them after a period of inactivity, working with reverse proxies. Sablier is a self-hosted server that starts sleeping workloads when a request arrives and shuts them down after a configurable period of inactivity. It supports Docker, Docker Swarm, Podman, Kubernetes, Proxmox LXC and systemd as providers, so the same approach works across container runtimes and hosts.
- Is sablier free to use? What license does it have?
- sablier is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
- Is sablier still maintained?
- Actively maintained. The last commit to sablier was on Nov 6, 2026.
- What can I use sablier for?
- Running services on a Raspberry Pi and keeping rarely used apps stopped until someone visits them. Keeping QA or staging environments that are only used occasionally from consuming resources. Scaling idle Kubernetes deployments to zero to cut cloud costs. Letting a GPU-heavy service yield memory to another service that is in use.
- How do I install sablier?
- Run the Sablier server with Docker (copy the compose.yaml from the 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 Start a demo container with Sablier labels: 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 Request a session for the demo group through the Sablier API: curl -v http://localhost:10000/api/strategies/blocking\?group\=demo\&session_duration\=20s
- Where can I get sablier?
- The source code and installation instructions are on GitHub: https://github.com/sablierapp/sablier
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A lightweight, self-hosted Docker dashboard for opening container web UIs, viewing logs, monitoring ports and checking image updates across multiple hosts.
A self-hosted web UI for managing Traefik reverse proxy routes, middlewares, services, certificates and logs without hand-editing YAML.
Automated Docker and Docker Compose setup tool for homelabs, with 160+ pre-configured self-hosted apps and built-in reverse proxy and authentication options.
A modern, dynamic dashboard that auto-discovers and displays services routed through Traefik.
A lightweight reverse proxy with a WebUI that auto-routes Docker and Podman containers, handles Let's Encrypt certificates, and includes SSO and idle sleep.