Browser-driven synthetic checks that simulate real user flows: login, checkout, form submission, multi-step wizards. Runs on Playwright headless chromium. Catches regressions that HTTP pings miss. Replaces Datadog Synthetics and Checkly.
Set your license key with nself license set nself_pro_... before installing. Ships with ɳSelf v1.1.0.
nself license set nself_pro_...
nself plugin install nself-synthetic-monitor
nself build
nself start| Variable | Required | Default | Description |
|---|---|---|---|
PLUGIN_SYNTHETIC_CONCURRENCY | No | 2 | Max parallel browser checks running at once |
PLUGIN_SYNTHETIC_TIMEOUT_MS | No | 30000 | Per-check browser timeout in milliseconds |
PLUGIN_SYNTHETIC_SCREENSHOT_ON_FAIL | No | true | Capture screenshot on check failure for debugging |
// POST /synthetic/checks
{
"name": "Login flow",
"url": "https://app.yoursite.com/login",
"interval_minutes": 5,
"script": "async ({ page }) => { await page.fill('#email', 'test@example.com'); await page.fill('#password', 'secret'); await page.click('[type=submit]'); await page.waitForURL('**/dashboard'); }"
}| Endpoint | Method | Description |
|---|---|---|
/synthetic/checks | GET / POST | List or create synthetic checks |
/synthetic/checks/:id/results | GET | Check run history with timing and failure screenshots |
/synthetic/checks/:id/run | POST | Trigger an immediate check run |
/health | GET | Plugin health check |
Datadog Synthetics Browser tests start at $12/1000 test runs/mo. A 5-minute interval check runs ~8,640 times/mo — that is over $100/mo per check. nself-synthetic-monitor: unlimited checks, unlimited runs, $0.99/mo as part of the ɳSentry bundle. Your VPS pays for the CPU, not the check count.
Port: 3836 | Bundle: ɳSentry ($0.99/mo) or ɳSelf+ ($3.99/mo) | Ships: v1.1.0