From 6da52adc7444e9970e60a8b2315d206cc7f228fe Mon Sep 17 00:00:00 2001
From: "Gorkem Cetin (BWL)" <167266851+gorkem-bwl@users.noreply.github.com>
Date: Wed, 23 Jul 2025 15:41:44 -0400
Subject: [PATCH 1/3] Trying to fix anchors
---
README.md | 45 ++++++++++++++++++++++-----------------------
1 file changed, 22 insertions(+), 23 deletions(-)
diff --git a/README.md b/README.md
index 4be16fef0..d584d832d 100644
--- a/README.md
+++ b/README.md
@@ -26,41 +26,40 @@ Checkmate has been stress-tested with 1000+ active monitors without any particul
## π Table of contents
-- [π¦ Demo](#-demo)
-- [π User's guide](#-users-guide)
-- [π οΈ Installation](#οΈ-installation)
-- [π Deploying Checkmate with Helm](#-deploying-checkmate-with-helm)
-- [π Translations](#-translations)
-- [π Performance](#-performance)
-- [π Questions & Ideas](#-questions--ideas)
-- [π§© Features](#-features)
-- [ποΈ Screenshots](#-screenshots)
-- [ποΈ Tech stack](#-tech-stack)
+- [π¦ Demo](#demo)
+- [π User's guide](#users-guide)
+- [π οΈ Installation](#installation)
+- [π Translations](#translations)
+- [π Performance](#performance)
+- [π Questions & Ideas](#questions--ideas)
+- [π§© Features](#features)
+- [ποΈ Screenshots](#screenshots)
+- [ποΈ Tech stack](#tech-stack)
- [π A few links](#a-few-links)
-- [π€ Contributing](#-contributing)
-- [π° Our sponsors](#-our-sponsors)
+- [π€ Contributing](#contributing)
+- [π° Our sponsors](#our-sponsors)
-## π¦ Demo
+## Demo
You can see the latest build of [Checkmate](https://checkmate-demo.bluewavelabs.ca/) 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
+## User's guide
Usage instructions can be found [here](https://docs.checkmate.so/checkmate-2.1). 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
+## Installation
See installation instructions in [Checkmate documentation portal](https://docs.checkmate.so/checkmate-2.1/users-guide/quickstart).
Alternatively, you can also use [Coolify](https://coolify.io/), [Elestio](https://elest.io/open-source/checkmate), [K8s](./charts/helm/checkmate/INSTALLATION.md) or [Pikapods](https://www.pikapods.com/) to quickly spin off a Checkmate instance. If you would like to monitor your server infrastructure, you'll need [Capture agent](https://github.com/bluewave-labs/capture). Capture repository also contains the installation instructions.
-## π Translations
+## Translations
If you would like to use Checkmate in your language, please [go to this page](https://poeditor.com/join/project/lRUoGZFCsJ) and register for the language you would like to translate Checkmate to.
-## π Performance
+## 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:
@@ -70,7 +69,7 @@ You can see the memory footprint of MongoDB and Redis on the same server (398Mb

-## π Questions & Ideas
+## Questions & Ideas
If you have any questions, suggestions or comments, you have several options:
@@ -80,7 +79,7 @@ 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
+## Features
- Completely open source, deployable on your servers or home devices (e.g Raspberry Pi 4 or 5)
- Website monitoring
@@ -103,7 +102,7 @@ Feel free to ask questions or share your ideas - we'd love to hear from you!
- Network monitoring
- ..and a few more features
-## ποΈ Screenshots
+## Screenshots
@@ -120,7 +119,7 @@ Feel free to ask questions or share your ideas - we'd love to hear from you!
-## ποΈ Tech stack
+## Tech stack
- [ReactJs](https://react.dev/)
- [MUI (React framework)](https://mui.com/)
@@ -136,7 +135,7 @@ Feel free to ask questions or share your ideas - we'd love to hear from you!
- Need a ping when there's a new release? Use [Newreleases](https://newreleases.io/), a free service to track releases.
- Watch a Checkmate [installation and usage video](https://www.youtube.com/watch?v=GfFOc0xHIwY)
-## π€ Contributing
+## Contributing
We are [Alex](http://github.com/ajhollid) (team lead), [Vishnu](http://github.com/vishnusn77), [Mohadeseh](http://github.com/mohicody), [Gorkem](http://github.com/gorkem-bwl/), [Owaise](http://github.com/Owaiseimdad), [Aryaman](https://github.com/Br0wnHammer) and [Mert](https://github.com/mertssmnoglu) helping individuals and businesses monitor their infra and servers.
@@ -160,7 +159,7 @@ Here's how you can contribute:
[](https://star-history.com/#bluewave-labs/bluewave-uptime&Date)
-## π° Our sponsors
+## Our sponsors
Thanks to [Gitbook](https://gitbook.io/) for giving us a free tier for their documentation platform, and [Poeditor](https://poeditor.com/) 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
From f58d05f1b36255ab043d989f484546e17fb35e85 Mon Sep 17 00:00:00 2001
From: Alex Holliday
Date: Wed, 23 Jul 2025 13:04:26 -0700
Subject: [PATCH 2/3] format
---
.../SuperSimpleQueueHelper.js | 6 +-
server/templates/passwordReset.mjml | 90 +++++++++------
server/templates/serverIsDown.mjml | 108 +++++++++++-------
server/templates/welcomeEmail.mjml | 84 ++++++++------
4 files changed, 169 insertions(+), 119 deletions(-)
diff --git a/server/service/SuperSimpleQueue/SuperSimpleQueueHelper.js b/server/service/SuperSimpleQueue/SuperSimpleQueueHelper.js
index 45c5978b9..fd41a5179 100644
--- a/server/service/SuperSimpleQueue/SuperSimpleQueueHelper.js
+++ b/server/service/SuperSimpleQueue/SuperSimpleQueueHelper.js
@@ -31,11 +31,7 @@ class SuperSimpleQueueHelper {
throw new Error("No network response");
}
- const {
- monitor: updatedMonitor,
- statusChanged,
- prevStatus,
- } = await this.statusService.updateStatus(networkResponse);
+ const { monitor: updatedMonitor, statusChanged, prevStatus } = await this.statusService.updateStatus(networkResponse);
this.notificationService
.handleNotifications({
diff --git a/server/templates/passwordReset.mjml b/server/templates/passwordReset.mjml
index 365199473..568b363ee 100755
--- a/server/templates/passwordReset.mjml
+++ b/server/templates/passwordReset.mjml
@@ -1,42 +1,56 @@
-
-
-
-
-
-
-
-
-
-
-
-
- Message from Checkmate Service
-
-
-
-
-
-
- Hello {{ name }}!
-
- You are receiving this email because a password reset request has been made for {{ email }}. Please use the link below on the site to
- reset your password.
-
- Reset Password
- If you didn't request this, please ignore this email.
+
+
+
+
+
+
+
+
+
+
+
+
+ Message from Checkmate Service
+
+
+
+
+
+
+ Hello {{ name }}!
+
+ You are receiving this email because a password reset request has been made for {{ email }}. Please use the link below on the site to
+ reset your password.
+
+ Reset Password
+ If you didn't request this, please ignore this email.
- Thank you.
-
-
-
-
-
- This email was sent by Checkmate.
-
-
-
-
-
\ No newline at end of file
+ Thank you.
+
+
+
+
+
+ This email was sent by Checkmate.
+
+
+
+
+
diff --git a/server/templates/serverIsDown.mjml b/server/templates/serverIsDown.mjml
index 5375412ab..bf6424a6b 100755
--- a/server/templates/serverIsDown.mjml
+++ b/server/templates/serverIsDown.mjml
@@ -1,42 +1,68 @@
-
-
-
-
-
-
-
-
-
-
-
-
- Message from Checkmate Service
-
-
-
-
- {{ monitor }} is down
-
-
-
-
-
-
-
- Hello {{ name }}!
- We detected an incident on one of your monitors. Your service is currently down. We'll send a message to you once it is up again.
- Monitor name: {{ monitor }}
- URL: {{ url }}
-
-
-
-
- View incident details
-
- This email was sent by Checkmate.
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+ Message from Checkmate Service
+
+
+
+
+ {{ monitor }} is down
+
+
+
+
+
+
+
+ Hello {{ name }}!
+ We detected an incident on one of your monitors. Your service is currently down. We'll send a message to you once it is up again.
+ Monitor name: {{ monitor }}
+ URL: {{ url }}
+
+
+
+
+ View incident details
+
+ This email was sent by Checkmate.
+
+
+
+
+
diff --git a/server/templates/welcomeEmail.mjml b/server/templates/welcomeEmail.mjml
index b5e90ffaf..e9f569e3f 100755
--- a/server/templates/welcomeEmail.mjml
+++ b/server/templates/welcomeEmail.mjml
@@ -1,37 +1,51 @@
-
-
-
-
-
-
-
-
-
-
-
-
- Message from Checkmate Service
-
-
-
-
-
-
- Hello {{ name }}!
- Thank you for trying out Checkmate! We developed it with great care to meet our own needs, and we're excited to share it with you.
- Checkmate is an automated way of checking whether a service such as a website or an application is available or not.
- We hope you find our service as valuable as we do.
- Thank you.
-
-
-
-
-
- This email was sent by Checkmate.
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+ Message from Checkmate Service
+
+
+
+
+
+
+ Hello {{ name }}!
+ Thank you for trying out Checkmate! We developed it with great care to meet our own needs, and we're excited to share it with you.
+ Checkmate is an automated way of checking whether a service such as a website or an application is available or not.
+ We hope you find our service as valuable as we do.
+ Thank you.
+
+
+
+
+
+ This email was sent by Checkmate.
+
+
+
+
+
From 65f232161f38b2bef69b88b16aa7ea9e3423e731 Mon Sep 17 00:00:00 2001
From: Alex Holliday
Date: Wed, 23 Jul 2025 13:06:23 -0700
Subject: [PATCH 3/3] sync package lock
---
server/package-lock.json | 114 +++++++++++++++++++++++++++++++--------
1 file changed, 93 insertions(+), 21 deletions(-)
diff --git a/server/package-lock.json b/server/package-lock.json
index 14dc57616..d2ba13f13 100644
--- a/server/package-lock.json
+++ b/server/package-lock.json
@@ -1079,6 +1079,17 @@
"dev": true,
"license": "(Unlicense OR Apache-2.0)"
},
+ "node_modules/@trysound/sax": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
+ "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
+ "license": "ISC",
+ "optional": true,
+ "peer": true,
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
"node_modules/@types/estree": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
@@ -2252,12 +2263,14 @@
}
},
"node_modules/css-tree": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz",
- "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
+ "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
"license": "MIT",
+ "optional": true,
+ "peer": true,
"dependencies": {
- "mdn-data": "2.12.2",
+ "mdn-data": "2.0.30",
"source-map-js": "^1.0.1"
},
"engines": {
@@ -4547,10 +4560,12 @@
}
},
"node_modules/mdn-data": {
- "version": "2.12.2",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz",
- "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==",
- "license": "CC0-1.0"
+ "version": "2.0.30",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
+ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
+ "license": "CC0-1.0",
+ "optional": true,
+ "peer": true
},
"node_modules/media-typer": {
"version": "0.3.0",
@@ -6381,6 +6396,59 @@
"postcss": "^8.4.32"
}
},
+ "node_modules/postcss-svgo/node_modules/commander": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz",
+ "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/postcss-svgo/node_modules/css-tree": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz",
+ "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==",
+ "license": "MIT",
+ "dependencies": {
+ "mdn-data": "2.12.2",
+ "source-map-js": "^1.0.1"
+ },
+ "engines": {
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
+ }
+ },
+ "node_modules/postcss-svgo/node_modules/mdn-data": {
+ "version": "2.12.2",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz",
+ "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==",
+ "license": "CC0-1.0"
+ },
+ "node_modules/postcss-svgo/node_modules/svgo": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.0.tgz",
+ "integrity": "sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==",
+ "license": "MIT",
+ "dependencies": {
+ "commander": "^11.1.0",
+ "css-select": "^5.1.0",
+ "css-tree": "^3.0.1",
+ "css-what": "^6.1.0",
+ "csso": "^5.0.5",
+ "picocolors": "^1.1.1",
+ "sax": "^1.4.1"
+ },
+ "bin": {
+ "svgo": "bin/svgo.js"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/svgo"
+ }
+ },
"node_modules/postcss-unique-selectors": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.4.tgz",
@@ -7421,24 +7489,26 @@
}
},
"node_modules/svgo": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.0.tgz",
- "integrity": "sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz",
+ "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==",
"license": "MIT",
+ "optional": true,
+ "peer": true,
"dependencies": {
- "commander": "^11.1.0",
+ "@trysound/sax": "0.2.0",
+ "commander": "^7.2.0",
"css-select": "^5.1.0",
- "css-tree": "^3.0.1",
+ "css-tree": "^2.3.1",
"css-what": "^6.1.0",
"csso": "^5.0.5",
- "picocolors": "^1.1.1",
- "sax": "^1.4.1"
+ "picocolors": "^1.0.0"
},
"bin": {
- "svgo": "bin/svgo.js"
+ "svgo": "bin/svgo"
},
"engines": {
- "node": ">=16"
+ "node": ">=14.0.0"
},
"funding": {
"type": "opencollective",
@@ -7446,12 +7516,14 @@
}
},
"node_modules/svgo/node_modules/commander": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz",
- "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
"license": "MIT",
+ "optional": true,
+ "peer": true,
"engines": {
- "node": ">=16"
+ "node": ">= 10"
}
},
"node_modules/swagger-ui-dist": {