crontab guru
Dashboard

The control panel for your crontab

A free, self-hosted, open source dashboard for managing your cron jobs.

  • Create and manage your cron jobs
  • Run jobs instantly with a single click
  • Crontab.guru expression editor built-in
  • View and terminate running job instances
  • Cron monitoring available when you need it
  • Host it yourself and securely access via SSH
Crontab Guru Self-hosted Dashboard

Easy Installation

View on Github

Linux Deployment Guide

Complete instructions for installing and running the Crontab Guru Dashboard

Installing the Dashboard

Running the Install Script

The easiest way to install the Crontab Guru Dashboard is using our automated install script:

curl https://crontab.guru/install | sh

This script will download and install the latest version of CronitorCLI, which includes the dashboard functionality.

Adding Username and Password Credentials

After installation, you'll be prompted to set a username and password for dashboard access. You can't use the dashboard without setting a username and password.

Accessing the Dashboard

Security Warning: The dashboard should not be exposed directly to the public internet. Always use secure access methods.

SSH Tunnel (Recommended)

The most secure way to access your dashboard remotely is through an SSH tunnel:

ssh -L 9000:localhost:9000 user@your-server

Then access the dashboard at http://localhost:9000

You can automate this by adding the following to your ~/.ssh/config:

Host your-server
  LocalForward 9000 localhost:9000

IP Whitelisting

For additional security, configure IP whitelisting to restrict access to specific addresses:

cronitor configure --allow-ips 192.168.1.0/24,10.0.0.1

Use IP whitelisting whenever possible to limit access to trusted networks and addresses.

Running with systemd

Setting Users

The current user crontab will be loaded automatically, and if you follow these instructions that will be the "root" user. As an alternative, you can specify users with the cronitor configure command. For example:

cronitor configure --users admin,user1,user2

Systemd Service Configuration

Create a systemd service to run the dashboard automatically. Before you start, if you are running the dashboard in another tab, or in a tmux or screen, exit that first so the port is free to use here. Save this as /etc/systemd/system/crontab-guru-dashboard.service:

[Unit]
Description=Crontab Guru Dashboard
After=network.target
Wants=network.target

[Service]
Type=simple
User=root
ExecStart=cronitor dash --port 9000
Restart=on-failure
RestartSec=5
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

Enable and start the service:

sudo systemctl enable crontab-guru-dashboard
sudo systemctl start crontab-guru-dashboard
sudo systemctl --no-pager --lines=0 status crontab-guru-dashboard

Keeping the Dashboard Updated

Regular updates ensure you have the latest features and security improvements:

cronitor update

After updating, restart the dashboard service:

sudo systemctl restart crontab-guru-dashboard

The dashboard will show an "update" button when a new version is available, making it easy to stay current.

© Cronitor.io