Skip to main content

Home

Selvara is self-hosted infrastructure monitoring. A Next.js dashboard stores everything in PostgreSQL with the TimescaleDB extension and uses Redis for the live event stream and for rate-limit counters. A single Go agent runs on each monitored host, detects the services it finds there, and pushes metrics and events to the dashboard's webhook every 30 seconds.

Nothing polls your machines from the outside: the flow is always host to dashboard, so the only port that has to be reachable is the dashboard's own. Alerts are not evaluated by a timer inside the application either — a small cron container calls POST /api/cron/evaluate-alerts once a minute, and that call is what raises, resolves and notifies.

Operations​

  • Installation — deploying with Docker Compose, the secrets to generate, and creating the first account.
  • Configuration — every environment variable, and what is configured in the dashboard instead.
  • Upgrading — pulling a new image, watching migrations apply, and why there is no down-migration.
  • Backup and Restore — pg_dump against a TimescaleDB database, and restoring one without losing the hypertables.
  • Troubleshooting — symptom, check, fix.

The agent​

The desktop app​

  • Desktop App — watching several instances from one window, and being told without a browser tab open.

Using Selvara​