Tool Open source

GoCron

GoCron is a self-hosted task scheduler built with Go and Vue.js. It defines recurring jobs, cron schedules, shell commands, and per-job environment variables in a YAML configuration file, then runs the commands through a web interface backed by SQLite. The interface can trigger jobs manually, display live logs, inspect run history, and provide a sandboxed terminal.

View repository Mentioned in 1 video ↓

Overview

Jobs can inherit default schedules, timeouts, retries, environment variables, and pre- or post-command hooks. GoCron supports HTTP health-check callbacks for job start, completion, and failure, optional OpenID Connect authentication, configurable rate limiting and CORS, and live run updates through Server-Sent Events. It watches the configuration file and rebuilds the scheduler when applicable settings change, without restarting; scheduled runs are single-flight, so overlapping runs are skipped rather than queued. It is distributed as a Docker container, downloadable Linux binaries, and a NixOS package/module, and is licensed under the MIT License.

What GoCron is used for

1 use taken from transcripts — each links to the moment in the video.

  • Gives recurring scripts a simple dashboard: define jobs and schedules in one YAML file, then use the web UI to trigger a run, watch its logs, or check what happened last night. It keeps run history in SQLite, supports timeouts and retries, can send callbacks when a job fails, and picks up config changes without a restart.

Videos mentioning GoCron

1 in the library.