Define rules against any HTTP data source, fire webhooks when conditions are met. No Grafana, no PagerDuty. Just rules and targets.
Every operation in Signalman is available through a JSON REST API. No SDK required — use curl, fetch, or any HTTP client.
GET /api/alert_rules — list all alert_rules with optional search and filter query parametersPOST /api/alert_rules — create a new alertrule recordGET /api/alert_rules/{id} — retrieve a single alertrule by IDPUT /api/alert_rules/{id} — update an existing alertruleDELETE /api/alert_rules/{id} — remove a alertruleGET /api/stats — aggregated statisticsGET /api/health — health check endpoint for monitoringA solo developer built a weekend project that needed alert rules tracking. Instead of spinning up Postgres and writing an admin panel, they added Signalman as a sidecar process. The REST API covered every operation the project needed. Development time saved: roughly a full day.
SaaS tools hold your data hostage. Export formats are incomplete, migrations are painful, and pricing changes whenever the vendor feels like it. Signalman stores everything in SQLite on your own server. Your data is a file you control, back up, and query directly.
GET /api/alert_rules — List all alert rules. Supports ?q=keyword for searchPOST /api/alert_rules — Create a new alertrule. Send JSON with at least nameGET /api/alert_rules/{id} — Fetch one alertrule by IDPUT /api/alert_rules/{id} — Update fields on an existing alertruleDELETE /api/alert_rules/{id} — Remove a alertruleGET /api/stats — Returns total countGET /api/health — Returns {"status":"ok"} for uptime monitoringEach alertrule record carries fields for name, condition, threshold, channel, target. The API accepts partial updates, so you can PATCH individual fields without resubmitting the entire record. Listing endpoints support ?q= for keyword search and ?status= for filtering. Backups are a file copy of the SQLite database in the data directory.
Self-hosted alerting rules engine. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool signalman
PORT=10020 ./signalman
http://localhost:10020
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 SIGNALMAN_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./signalman
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.