diff --git a/README.md b/README.md index d509db1..c71d33a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,87 @@ # UPTIME MONITOR +![](/docs/uptimemonitor.png) + [![Go](https://github.com/airlabspl/uptimemonitor/actions/workflows/go.yml/badge.svg)](https://github.com/airlabspl/uptimemonitor/actions/workflows/go.yml) [uptimemonitor.dev](https://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](https://github.com/airlabspl/uptimemonitor/releases)): + +```bash +wget https://github.com/airlabspl/uptimemonitor/releases/download/v0.0.2-alpha/uptimemonitor +chmod +x uptimemonitor +``` + +2. Run it + +```bash +./uptimemonitor -addr=":3000" +``` + +## 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. + +![](/docs/setup.png) + +## 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. + +![](/docs/new.png) + +## 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. + +![](/docs/incident.png) + +## 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. + +![](/docs/webhook.png) + +## 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. diff --git a/docs/incident.png b/docs/incident.png new file mode 100644 index 0000000..e3c06ef Binary files /dev/null and b/docs/incident.png differ diff --git a/docs/new.png b/docs/new.png new file mode 100644 index 0000000..bd2502c Binary files /dev/null and b/docs/new.png differ diff --git a/docs/setup.png b/docs/setup.png new file mode 100644 index 0000000..3863f3d Binary files /dev/null and b/docs/setup.png differ diff --git a/docs/uptimemonitor.png b/docs/uptimemonitor.png new file mode 100644 index 0000000..fa35c4a Binary files /dev/null and b/docs/uptimemonitor.png differ diff --git a/docs/webhook.png b/docs/webhook.png new file mode 100644 index 0000000..6ca278c Binary files /dev/null and b/docs/webhook.png differ