Skip to content

Ways to install

One static binary with no runtime dependencies. How it gets onto the machine is the only decision, and it follows from where you want it to run.

Releases carry binaries for Linux, macOS and Windows, on amd64 and arm64. The three pages below are the same walk for each system, taken all the way: which archive, how to check it, where the binary goes, how to run it once, and how to keep it running once you are done watching it.

Terminal window
curl -fsSL https://raw.githubusercontent.com/jmrplens/ghchronicle/main/install.sh | bash

On Windows, in PowerShell:

Terminal window
irm https://raw.githubusercontent.com/jmrplens/ghchronicle/main/install.ps1 | iex

Either one works out the platform, takes the newest release, and refuses to install anything whose checksum is not the one the release published.

The collector pushes to every store it supports, so it does not need to be reachable from anywhere. It needs to reach GitHub and to reach its databases. That is the only constraint, and it is what makes all four of these viable. Three of the four want a host you own: systemd, Docker and cron. GitHub Actions is the one that does not. The system pages above are where the scheduler lives, one per system: systemd or cron on Linux, launchd on macOS, a scheduled task on Windows.

CommandDoes
ghchronicle -config config.yamlRuns forever, each family on its own cadence
ghchronicle -config config.yaml -onceOne sweep, then exits
ghchronicle -config config.yaml -backfillWalks every surface to its end, waiting for the rate limit

Plus two that write nothing: -list prints the repositories in scope, and -card ... -card-only renders the SVG without touching a database.

A new release goes over the old one the way the old one was installed, and the configuration and the state carry over. What the first hours after it look like, from 2.5.x to 2.6.x and to 2.6.1, is on upgrading.

Written and maintained by
MIT licenceRelease history