Hire me
← 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.