gorkem-bwl e39b44db6c feat: add multi-location uptime monitoring via Globalping
## Changes

### Server
- Add `locations` field to Monitor model and types (up to 5 locations per monitor)
- Add `location` field to Check metadata for per-location tracking
- Add `globalpingApiKey` to AppSettings for API key management
- Create GlobalpingService that wraps the Globalping SDK to run distributed
  HTTP/ping checks from multiple global locations (NA, EU, AS, SA, OC, AF)
- Extend SuperSimpleQueueHelper with fire-and-forget Globalping checks that
  run alongside the existing local check without affecting the main pipeline
- Add location-aware check queries with aggregation pipeline grouping by
  location in MongoChecksRepository
- Filter location checks from main uptime aggregation to preserve local check
  as source of truth for status/incidents
- Extend monitor details endpoint to return per-location check data
- Add GET /globalping/locations endpoint for available location options
- Add globalpingKeySet to settings response
- Add Joi validation for locations and globalpingApiKey fields

### Client
- Add locations multi-select (Autocomplete with chips) to monitor creation
  form, shown only for HTTP and ping monitor types
- Add SettingsGlobalping component for API key management (matching existing
  PageSpeed pattern with set/reset flow)
- Add per-location breakdown section to uptime details page with tabs,
  avg response time, uptime percentage, and response time charts
- Add globe icon with tooltip to monitor table for monitors with locations
- Add Zod validation for locations field in HTTP and ping schemas
- Add all translation keys for globalping settings, locations form, and
  location details sections

## Benefits
- Users gain visibility into geographic availability and latency data
- Local check remains the source of truth, Globalping runs alongside
- Supports up to 5 locations per monitor with 6 continent-level options
- Graceful degradation when API key is not configured or rate limited
2026-02-19 00:45:14 -05:00
2025-10-29 10:03:16 -07:00
2026-02-05 17:54:06 +00:00
2026-02-13 20:41:27 +00:00
2026-02-16 19:32:28 +00:00
2025-10-28 12:14:58 -04:00
2026-01-16 14:44:28 -05:00
2026-02-05 17:54:06 +00:00
2026-02-05 17:54:06 +00:00
2025-06-04 09:09:54 -04:00
2025-07-24 11:38:45 -06:00

bluewave-labs%2Fcheckmate | Trendshift

OpenSSF Best Practices Ask DeepWiki

Checkmate

An open source uptime and infrastructure monitoring application

image

This repository contains both the frontend and the backend of Checkmate, an open-source, self-hosted monitoring tool for tracking server hardware, uptime, response times, and incidents in real-time with beautiful visualizations. Checkmate regularly checks whether a server/website is accessible and performs optimally, providing real-time alerts and reports on the monitored services' availability, downtime, and response time.

Checkmate also has an agent, called Capture, to retrieve data from remote servers. While Capture is not required to run Checkmate, it provides additional insights about your servers' CPU, RAM, disk, and temperature status. Capture can run on Linux, Windows, Mac, Raspberry Pi, or any device that can run Go.

Checkmate has been stress-tested with 1000+ active monitors without any particular issues or performance bottlenecks.

If you would like to sponsor a feature, see this link.

📚 Table of contents

Demo

You can see the latest build of Checkmate in action. The username is uptimedemo@demo.com and the password is Demouser1! (just a note that we update the demo server from time to time, so if it doesn't work for you, please ping us on the Discussions channel).

User's guide

Usage instructions can be found here. It's still WIP and some of the information there might be outdated as we continuously add features weekly. Rest assured, we are doing our best! :)

Installation

See installation instructions in Checkmate documentation portal.

Alternatively, you can also use Elestio, K8s, Sive Host (South Africa) or Pikapods to quickly spin off a Checkmate instance. If you would like to monitor your server infrastructure, you'll need Capture agent. Capture repository also contains the installation instructions.

Using a Custom CA

If you need to monitor internal HTTPS endpoints with certificates from private Certificate Authorities (like Smallstep), see our Custom CA Trust Guide for Docker configuration options.

For more documentation, see the docs directory.

Translations

If you would like to use Checkmate in your language, please go to this page and register for the language you would like to translate Checkmate to.

Performance

Thanks to extensive optimizations, Checkmate operates with an exceptionally small memory footprint, requiring minimal memory and CPU resources. Here’s the memory usage of a Node.js instance running on a server that monitors 323 servers every minute:

image

You can see the memory footprint of MongoDB and Redis on the same server (398Mb and 15Mb) for the same amount of servers:

image

Questions & Ideas

If you have any questions, suggestions or comments, you have several options:

Feel free to ask questions or share your ideas - we'd love to hear from you!

Features

  • Completely open source, deployable on your servers or home devices (e.g Raspberry Pi 4 or 5)
  • Website monitoring
  • Page speed monitoring
  • Infrastructure monitoring (memory, disk usage, CPU performance, network etc) - requires Capture agent
    • Selective disk monitoring with mountpoint selection
  • Docker monitoring
  • Ping monitoring
  • SSL monitoring
  • Port monitoring
  • Game server monitoring (3.0)
  • Incidents at a glance
  • Status pages
  • E-mail, Webhooks, Discord and Slack notifications
  • Scheduled maintenance
  • JSON query monitoring
  • Multi-language support for English, German, Japanese, Portuguese (Brazil), Russian, Turkish, Ukrainian, Vietnamese, Chinese (Traditional, Taiwan)

Short term roadmap:

  • Plugins that will help Checkmate get any information from a remote service (e.g database, etc)
  • Better notifications
  • Network monitoring
  • ..and a few more features

If you would like to sponsor an additional feature, see this page.

Screenshots

image

image

image

image

Tech stack

  • If you would like to support us, please consider giving it a ⭐ and click on "watch".
  • Have a question or suggestion for the roadmap/featureset? Check our Discord channel or Discussions forum.
  • Need a ping when there's a new release? Use Newreleases, a free service to track releases.
  • Watch a Checkmate installation and usage video

Contributing

We are Alex (team lead), Gorkem, Aryaman, Mert and Karen helping individuals and businesses monitor their infra and servers.

We pride ourselves on building strong connections with contributors at every level. Despite being a young project, Checkmate has already earned 7000+ stars and attracted 90+ contributors from around the globe.

Our repo is starred by employees from Google, Microsoft, Intel, Cisco, Tencent, Electronic Arts, ByteDance, JP Morgan Chase, Deloitte, Accenture, Foxconn, Broadcom, China Telecom, Barclays, Capgemini, Wipro, Cloudflare, Dassault Systèmes and NEC, so don’t hold back — jump in, contribute and learn with us!

Here's how you can contribute:

  1. Star this repo :)
  2. Check Contributor's guideline. First timers are encouraged to check good-first-issue tag.
  3. Check project structure and high level overview.
  4. Read a detailed structure of Checkmate if you would like to deep dive into the architecture.
  5. Open an issue if you believe you've encountered a bug.
  6. Check for good-first-issue's if you are a newcomer.
  7. Make a pull request to add new features/make quality-of-life improvements/fix bugs.
  8. Check out this interactive walkthrough of the Checkmate codebase on CodeCanvas here. To refine existing dataflow simulation or create new ones, follow the quick tutorial here.

Star History Chart

Our sponsors

Thanks to Gitbook for giving us a free tier for their documentation platform, and Poeditor providing us a free account to use their i18n services. If you would like to sponsor Checkmate, please send an email to hello@bluewavelabs.ca

If you would like to sponsor a feature, see this page.

Also check other developer and contributor-friendly projects of BlueWave:

  • VerifyWise, the first open source AI governance platform.
  • DataRoom, an secure file sharing application, aka dataroom.
  • Guidefox, an application that helps new users learn how to use your product via hints, tours, popups and banners.
Languages
TypeScript 97.9%
JavaScript 1.4%
Shell 0.6%