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
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.
- If you didn't request this, please ignore this email. 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.
+ If you didn't request this, please ignore this email. Thank you. This email was sent by Checkmate.
@@ -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
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": {
diff --git a/server/service/infrastructure/SuperSimpleQueue/SuperSimpleQueueHelper.js b/server/service/infrastructure/SuperSimpleQueue/SuperSimpleQueueHelper.js
index 45c5978b9..fd41a5179 100644
--- a/server/service/infrastructure/SuperSimpleQueue/SuperSimpleQueueHelper.js
+++ b/server/service/infrastructure/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 @@
Thank you.
+ + +This email was sent by Checkmate.
+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 }}
-This email was sent by Checkmate.
-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 }}
+This email was sent by Checkmate.
+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.
-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.
+