← All work
After hours / Self-hosted tool
Container scheduler
Idle containers go to sleep on a schedule.
A portal with 20 REST endpoints that schedules containers through the Docker Engine API and Telegram, so idle services cost less.
20REST endpoints
Role
I built it, solo.
Stack
Node.js, Express, Docker Engine API, SQLite, node-cron, Telegram
Links
The problem
Dev containers use memory, CPU and battery while idle. Hand-kept cron scripts are easy to get wrong, and a sleeping host silently misses its jobs.
What I built
- Compose project start and stop through the Docker Engine API directly, not by shelling out.
- Daily, weekday, weekend and custom schedules, persisted in SQLite and registered on boot.
- Missed-schedule catch-up: on startup it enforces the most recent one it slept through.
- Host and per-container stats, a full audit log, and password plus TOTP login.
A decision I like
Cron over an always-on daemon. A tool meant to save resources should not need a process running all day.
Local tooling that I run myself.