An uptime monitoring service that is easy and cheap to run at scale. Create endpoint checks for uptime, latency, and status code. Supports OpsGenie, for alerts when there are two or more consecutive failures.
# Install dependencies
nub install
# Run the CLI
nub run cli --helpThis repository requires Node.js 24.15.0 and Nub 0.9.6.
# Deploy infrastructure
nub run cli -- --fqdn uptime.example.com
# Deploy to production
nub run cli -- --fqdn uptime.example.com --stage prod
# Destroy infrastructure
nub run cli -- --fqdn uptime.example.com --phase destroynub run dev runs the whole stack on your machine with alchemy dev: the dashboard, both monitor workers, D1, and KV. It does not need a Cloudflare account.
cp .env.example .env
# Set BETTER_AUTH_SECRET in .env, for example with `openssl rand -hex 32`.
nub install
nub run devThe dashboard is at http://127.0.0.1:3000. The monitor workers use ports 8787 and 8788. Alchemy applies the D1 migrations when the stack starts, and keeps local state under packages/infra/.alchemy.
The dashboard signs in with an email one-time code. No mailer is configured, so the code is printed in the alchemy dev log.
Production workers and the dashboard deploy through Alchemy:
nub run cli -- --fqdn uptime.example.com --stage prodSee the infra README for more details.
Renovate opens dependency pull requests from the shared SolZeroAI/renovate-config preset and merges them when CI passes.
Tegami versions SolStatus after Validate succeeds on master. Merging the version pull request tags v<version> and publishes that version to the alchemy.new registry as solzero/solstatus, through GitHub OIDC trusted publishing. The workspace packages are private and are not published to npm. See docs/releasing.md.
