2025-08-04 09:15:50 +02:00
2025-08-03 17:10:10 +02:00
2025-08-03 14:20:47 +02:00
2025-08-03 14:20:47 +02:00
2025-08-03 12:51:56 +02:00
2025-08-01 18:01:55 +02:00
2025-08-03 18:12:23 +02:00
2025-08-03 17:31:58 +02:00
2025-08-03 12:24:29 +02:00
2025-08-01 18:01:55 +02:00
2025-08-01 18:01:55 +02:00
2025-08-03 17:31:58 +02:00
2025-08-01 18:01:55 +02:00
2025-08-01 18:01:55 +02:00
2025-08-01 18:01:55 +02:00
2025-08-01 18:01:55 +02:00
2025-08-03 17:01:32 +02:00
fix
2025-08-03 15:03:52 +02:00
2025-08-01 18:01:55 +02:00
2025-08-01 18:01:55 +02:00
2025-08-01 18:01:55 +02:00
2025-08-03 16:57:45 +02:00
2025-08-03 12:24:29 +02:00
2025-08-01 18:01:55 +02:00
2025-08-04 09:15:50 +02:00
2025-08-01 18:01:55 +02:00
2025-08-01 18:01:55 +02:00
2025-08-01 18:01:55 +02:00

UPTIME MONITOR

Go

uptimemonitor.dev

© 2025 AIR Labs

Yet another uptime monitor?

Yes, but with following constraints:

  • 100% self-hosted
  • Single binary when build
  • 0 configuration
  • Simple functionality without bloat

Installation

  1. Download the latest release to a Linux VPS (check the Releases page):
wget https://github.com/airlabspl/uptimemonitor/releases/download/v1.1.1/uptimemonitor
chmod +x uptimemonitor
  1. Run it
./uptimemonitor -addr=":3000"

You can also use provided Dockerfile and docker-compose.yml for reference to run the app using Docker.

For example, to run a local copy without https enabled:

SECURE=false COOLIFY_VOLUME_APP=~/testdata docker-compose up

First run

When you first run the application you will be asked to create a new account, which you will then use to log in.

Usage

To start monitoring a given url, add the url on a /new page. You can specify the HTTP method the check will use (GET, POST, etc.) as well as add custom headers and body to the request.

Incidents

When the check fails, the incident will be created and will stay open until the upcoming check succeeds. You can dig into the failing request details on a incident page.

Webhooks

If you want to get notified when an incident happens, you can also configure a webhook notification to a given url of choice (e.g. slack or google chat webhook url). You can use {{ .Url }} and {{ .StatusCode }} variables inside a body to pass those information to the webhook.

Https

Because the app uses secure cookies for authentication, it is required to use some reverse proxy with https certificate configured.

If you want to test the app without secure cookies enabled, provide the -secure=false flag.

Backups

This app uses a sqlite database so to backup the data just copy the uptimemonitor.sqlite* files to a new location.

Pricing

The app is free to use but if you are using it commercially and can aford a small donation- please use Github Sponsors.

The donations of $50 a month and above will be featured in a sponsors area inside the application dashboard.

Roadmap

  • Monitor status badges
  • Change password
  • Manage users
  • Timezones
  • Reset password via cli
  • Add "Test Webhook" button with fake incident
  • Sort monitors option (with localstorage sync) by created_at/name(domain)

Description
Self-hosted uptime monitor for your websites
Readme GPL-3.0 660 KiB
Languages
Go 66.2%
HTML 32.8%
CSS 0.4%
Makefile 0.3%
Dockerfile 0.2%
Other 0.1%