cron-gui
v1.0.0
Published
Web interface for managing cron jobs without editing crontab by hand
Maintainers
Readme
Cron GUI is a drop-in successor to crontab-ui with a rebuilt interface, safer deploy workflow, and dozens of bug fixes. Create, edit, pause, run, back up, and restore jobs from one place — then deploy to the system crontab when you are ready.
Highlights
| | |
|:--|:--|
| Safe by default | Edit jobs in the app first. Review changes, preview the crontab text, then deploy with Save to crontab. |
| Built for real servers | Search, status filters, bulk actions, pagination, and per-job stdout/stderr logs. |
| Portable | Export crontab.db and move jobs between machines without SSH or copy-paste. |
| Compatible | Existing crontab.db files from crontab-ui work as-is. |
Quick start
Requires Node.js 20+.
npm install -g cron-gui
cron-guiOpen http://127.0.0.1:8000
# Custom host, port, or data directory
HOST=0.0.0.0 PORT=9000 CRON_DB_PATH=/var/lib/cron-gui cron-gui
# Reset local database and start fresh
cron-gui --resetSee it in action
Job dashboard
Sortable table with live status, next-run hints, and unsaved-change indicators — so you always know what is scheduled and what still needs deploying.
Create and edit jobs
Schedule presets, cron expressions, logging, and optional email notifications — all in a focused dialog.
Preview before you deploy
See the exact crontab text — environment variables plus one line per enabled job — before writing to the system crontab.
Crontab environment
Set PATH, MAILTO, and other variables once — applied to every deployed job.
Per-job logs
View stdout and stderr history for any job without leaving the page.
Backups and portability
Server-side snapshots, database import/export, and system crontab sync — grouped under Actions.
Search, filters, and dark mode
Find jobs instantly, filter by status, and switch themes to match your environment.
Configuration
| Variable | Purpose |
|----------|---------|
| HOST | Bind address (default 127.0.0.1) |
| PORT | Port (default 8000) |
| BASE_URL | URL path prefix when behind a reverse proxy |
| CRON_DB_PATH | Directory for crontab.db, backups, and logs |
| BASIC_AUTH_USER / BASIC_AUTH_PWD | HTTP basic auth |
| SSL_CERT / SSL_KEY | HTTPS (both must be set together) |
| ENABLE_AUTOSAVE | Auto-deploy on DB changes |
Common flags: --autosave, --reset
Full reference: docs/configuration.md
Docker
docker pull ysskrishna/cron-gui:latest
docker run -d -p 8000:8000 ysskrishna/cron-gui:latestWith Compose:
docker compose up -dSee docs/docker.md for volumes, auth, and production notes.
Migrating from crontab-ui
- Install
cron-guiinstead ofcrontab-ui— existingcrontab.dbfiles are compatible. - Schedule presets: The UI uses 5-field cron expressions plus
@reboot. Macros like@hourlystill work in crontab if typed manually. - Deploy workflow: Changes are staged in the app until you click Save to crontab (unless
--autosaveis enabled).
Resources
- Configuration and CLI options
- Docker deployment guide
- nginx integration
- Troubleshooting notes
- Release history (CHANGELOG)
- Upstream crontab-ui docs
Support
If you find this project helpful:
- Star the repository
- Report issues
- Submit pull requests
- Sponsor on GitHub
Credits
Forked from crontab-ui by alseambusher.
License
MIT © Y. Siva Sai Krishna — see LICENSE for details.
