selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

upstat logo

Self-host upstat

Open-source uptime monitoring with status pages

BetaOpen SourceMIT
Updated4 months ago
LanguageTypescript
Setup difficultyModerate
MobilePWA
Stars
200
Port
3000 (web frontend)
Docker
chamanbravo/upstat-web
Install with Docker
Upstat dashboard showing monitors overviewCreate a monitor screenMonitor page with status and latency chartSettings pageNotifications configurationDiscord notification example

What is upstat?

Upstat is a simple, open-source status monitoring tool for tracking uptime and performance of websites and APIs. It monitors HTTP(S) endpoints at 60-second intervals, displaying status and latency charts with ping visualization and SSL certificate information. Users can create multiple public status pages mapped to custom domains. Alerts are delivered via Discord, Slack, email, and webhooks when incidents are detected. The web interface is a PWA with a reactive UI built with React and shadcn/ui, backed by a Go API. It runs self-hosted via Docker Compose (with SQLite or PostgreSQL) or as a standalone Node.js/Go application. The project is under active development with a MIT license.

Should you self-host upstat?

upstat scores 43/100 on selfhost.directory (how scoring works) and ranks #11 of 12 in Uptime Monitoring. It has 200 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is gatus (76/100, 12 428 stars). It scores higher overall, so compare the two before you pick. See upstat vs gatus side by side.

Features

  • 60-second check intervals
  • Custom domain mapping
  • Discord Notifications
  • Email notifications
  • HTTP(S) uptime monitoring
  • Multiple status pages
  • Ping chart
  • Progressive Web App
  • Reactive UI/UX
  • Slack notifications
  • SSL certificate info
  • Status and latency charts
  • Webhook Notifications

upstat README

How to install upstat

Install upstat with Docker

cp .sample.env .env air cd web && npm run dev

Requires Node.js 14/16/18/20.4, npm 9, Golang 1.21+, Postgres optional

How to configure upstat

  • DB_TYPEDatabase type (postgres or sqlite)

    Database type (postgres or sqlite)

    values: postgres, sqlite

  • JWT_SECRET_KEYSecret key for JWT token signing

    Secret key for JWT token signing

  • POSTGRES_DSNPostgreSQL connection string

    PostgreSQL connection string

More in Status Pages

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…