POST structured events from any service, search and filter them, build simple dashboards. Your own Loggly with no monthly bill based on GB ingested.
A freelance consultant keeps Chronicle running on a home server. Client events stay on local disk, which simplifies the privacy section of every contract. The search endpoint powers a custom dashboard built with a static site generator. Total infrastructure cost: the electricity to run a Raspberry Pi.
Most events tools fall into two camps: free products that harvest your data, or enterprise platforms that cost more than the problem they solve. Chronicle exists because neither option makes sense when you just need a reliable event log under your own control.
GET /api/events — List all events. Supports ?q=keyword for search and ?status=value for filteringPOST /api/events — Create a new event. Send JSON with at least nameGET /api/events/{id} — Fetch one event by IDPUT /api/events/{id} — Update fields on an existing eventDELETE /api/events/{id} — Remove a eventGET /api/stats — Returns total count and breakdown by statusGET /api/health — Returns {"status":"ok"} for uptime monitoringOn first launch, Chronicle initializes a WAL-mode SQLite database and starts an HTTP server. The web dashboard and API share the same port. Creating an event is a POST with JSON — the only required field is name. The response includes the generated ID and timestamp. Listing supports search, filtering, and returns items in reverse chronological order.
Self-hosted event log. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool chronicle
PORT=8770 ./chronicle
http://localhost:8770
Single binary. Embedded SQLite. No Docker. No database. No dependencies.
Your license key arrives by email within 5 minutes of checkout. Set it as an environment variable and restart the binary.
export CHRONICLE_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./chronicle
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.