Notifications
Servomon sends web push and Discord alerts for downtime/recovery, low battery and low storage. These checks are scheduled, not an immediate threshold evaluation on every sample; see the task schedule.
Enable web push
- Open your dashboard over HTTPS and log in. Push requires a browser secure context (localhost is a development exception).
- Open Notifications in the sidebar, click Enable notifications, and accept the browser permission prompt. Permission is requested from this explicit user gesture, not automatically on page load.
- Turn on Alerts for the systems you want to monitor, using the overview row or system detail toggle.
- Repeat notification setup on each browser/device where you want alerts.
On iOS/iPadOS 16.4+, first add the site to your home screen, launch that installed web app, then enable notifications. See WebKit's web push guidance. Desktop and Android support varies by browser and OS notification settings.
The per-system Alerts toggle gates both push and Discord, not just the current device. Removing browser permission is separate from disabling a system's alerts.
Push keys are automatic
You do not need to generate VAPID keys for a new installation. With both key variables unset, the server generates a pair once and stores it under persistent serverState storage. Keep /app/data across restarts so subscriptions continue using the same keys. The dashboard retrieves the public key through the operator-authenticated GET /api/push/public-key endpoint.
Optional: pin your own keys
docker run --rm ghcr.io/nirjan-dev/servomon generate-vapid-keysThe command prints exactly two assignment lines, ready to copy into your server environment:
NUXT_PUBLIC_PUSH_PUBLIC_KEY=<public-key>
NUXT_PUSH_PRIVATE_KEY=<private-key>For a source checkout, pnpm generate:vapid-keys from web/ runs the same builtin-only Node script. Configure both keys together; the environment pair overrides stored keys. Never publish the private key. After changing the pair, restart the server and re-enable notifications on your devices to create subscriptions with the new key.
Set NUXT_PUSH_SUBJECT to a contact URI you control, e.g. mailto:you@example.com or https://example.com/contact. Its default is https://servomon.nirjan.dev.
Discord
- In your Discord server's channel settings, open Integrations → Webhooks, create a webhook, and copy its URL. You need permission to manage webhooks.
- Set
NUXT_DISCORD_WEBHOOK_URLto that secret URL andNUXT_PUBLIC_ENABLE_DISCORD_ALERTS=trueon the Servomon server. - Restart/redeploy the server and enable Alerts for the relevant systems.
The webhook posts alerts into that channel; Discord setup does not require browser notification permission. Keep the URL private and revoke it in Discord if exposed. See Discord webhook help.
Not receiving alerts? Follow notification troubleshooting.