Your services sleep. Your bills don't.
Self-hosted container orchestration for a single VPS. Services wake on HTTP request, sleep when idle. Your own Vercel. Your own Render. On any server you own.
You have one cheap VPS. You have five side projects. Keeping all five running 24/7 means paying for RAM and CPU that sits idle 99% of the time. Managed platforms like Render and Railway solve this with cold starts — but you pay them for it.
Dormant brings that same behaviour to your own server. Every service sleeps when nobody is visiting. The moment a request arrives, it wakes up, serves traffic, and goes back to sleep after inactivity. You own the server. You own the data. You own the infra.
Incoming request
|
v
NGINX (reverse proxy)
|
v
Watcher (detects traffic, manages containers)
|
|-- Container sleeping? --> Start it --> Health check --> Serve request
| Show wake screen while booting
|
|-- Container running? --> Serve immediately
|
|-- No traffic for X mins --> Stop container
- A request hits your domain
- NGINX forwards it to the Dormant watcher
- If the container is sleeping, Dormant starts it and shows a loading screen to the user
- Once healthy, traffic is routed to the live container
- After X minutes of inactivity, the container is stopped automatically
- Repeat
- Wake containers on incoming HTTP request
- Sleep containers after configurable idle timeout
- Loading screen shown to user during cold start (like Render)
- Simple
dormant.yamlconfig to register services - One command install via bash script
- NGINX integration out of the box
- Web dashboard — start, stop, view status at a glance
- CLI tool (
dormant up,dormant down,dormant status) - Real-time log streaming in dashboard
- Health check configuration per service
- Browser-based terminal access
- Automatic HTTPS via Let's Encrypt
- Resource limits per container (CPU, RAM cap)
- LRU eviction — kill oldest idle service when resources are low
- Webhook and email notifications on crashes
- Open source service library — one-click setup for common tools
- Terraform provisioner for OCI, AWS, GCP
- Kubernetes support for multi-server setups
- Metrics and Grafana integration
- Watcher service — Node.js
- Container management — Docker SDK
- Reverse proxy — NGINX
- Dashboard — React
- CLI — Node.js
- Install — Bash
Coolify and Dokku are great. But they do not have idle sleep. Every service runs 24/7. If you have 10 projects on a small VPS, you are paying for all 10 running at once even if 9 of them get zero traffic.
Dormant does one thing they do not — it shuts services down when nobody is using them and wakes them on demand. That is the entire point.
Actively building. Follow progress on X and LinkedIn.
Star the repo to follow along.
MIT