Usage

Cronhoster has three parts. You stand up a server once. You run the local scripts on your own machine to mirror your folder of crons up to it. The server then runs each cron on the schedule its settings declare.

Server →

Stand up the server on a Linux box: the sync API and the scheduler that runs your crons, both as services behind Caddy.

Local →

The scripts you run on your own machine: the config, the sync that pushes your crons up, and the log browsers you pull back down.

Crons →

What you author: a directory per cron, with a handler and a settings file that names its runs and how many may overlap.

What you author

Your content root is a folder of cron directories. Each directory is one self-contained cron: a cronhoster-cron-handler.js the server runs, a cronhoster-cron-settings.json that says when, and whatever libraries the handler needs beside it.

<cronhoster-config-contentRoot>/
  digest/
    cronhoster-cron-handler.js       what the server runs
    cronhoster-cron-settings.json    when it runs, and how many may overlap
    format.js                       a module it imports
  backup/
    cronhoster-cron-handler.js
    cronhoster-cron-settings.json

The Crons page walks through a cron end to end. Start with the server to see where they run.