Monitorly is a simple uptime & status monitoring app with a twist:
Instead of watching the result of an HTTP call, each monitor watches the result of a promise. The function it watches must return a promise that resolves to a boolean. If the value is true
, the monitored system is considered to be operational.
type TMonitor = {
functionToRun: () => Promise<boolean>;
// ...
};
Because of this, you can monitor any async process you want, not just simple HTTP calls.
Here is an example site: Monitorly Example.
- Clone the repo.
- Run
pnpm install
. - Create a PostgreSQL database (via Supabase, Neon, Railway, etc.).
- Rename the
env.example
files in theapps/server
andapps/web
directories to.env
and fill in the connection connection string. - Run
pnpm run db:generate
to generate database migrations and runpnpm run db:migrate
to apply them to your database. - Run
pnpm run build
so that the shared local packages are built. - Run
pnpm run dev
to start the dev server.