NOTICE: this is now deprecated, and will no longer be updated. Not with new features, not with updated bumped library versions. I wanted a more barebones monitoring system using minimal system resources, and therefore created https://github.com/bendiksolheim/varde instead. Varde is my focus going forward.
Monitor services in your home lab for free, without all that enterprise hassle. Define services you want to monitor, and Monitor queries them over HTTP according to a specified interval. Report to one of more of the supported external services when something is wrong.
{
"services": [
{
"service": "vg.no",
"schedule": "every 1 minute",
"url": "https://www.vg.no",
"okStatusCode": 200
},
{
"service": "nas",
"schedule": "every 1 minute",
"url": "http://192.168.1.200:5000",
"okStatusCode": 200
},
{
"service": "Home Assistant",
"schedule": "every 10 minutes",
"url": "http://192.168.1.89:4357",
"okStatusCode": 200
},
{
"service": "Nginx",
"schedule": "every 1 minute",
"url": "http://macbook-server:80",
"okStatusCode": 301
}
],
"healthcheck": {
"url": "https://hc-ping.com/1234567890",
"schedule": "every 10 minutes"
}
}The healthcheck property is optional. Skipping it will make this tool function just as a uptime checker.
Runs as a docker container. Assuming you have saved your config in ./config/config.json, run this command:
docker run -v ./config:/config -p 3000:3000 bendiksolheim/monitor:latestSee docker-compose.yml for a docker compose example.
- Node.js 20+
- pnpm 9+ (install via
corepack enableor see pnpm installation)
-
Enable corepack (if not already enabled):
corepack enable -
Install dependencies:
pnpm install
-
Create an example configuration:
pnpm run create-config
-
Generate some test data:
pnpm run generate-test-data
-
Run development server:
pnpm dev
