Show HN: Dolce – Get notified if something (bad) happens to your containers Hi HN, while I was on vacation this year the shop of my wife was suddenly down and we only noticed once the emails of customers rolled in. After fixing it on my phone I thought there has to be a better way to notice when your docker container die or are in a restart loop for whatever reason. Now I know there are lots of tools like healthcheck.io and monocker, however none seemed to match my simple use case of getting notified _via email_ when the running– or health-status of any docker container changes. So I did what every SE would do in that case and hacked another solution but this one is mine :). I also always wanted to do a project with deno and get up to speed on typescript. This was also a great reason to finally look into using GitHub Actions to automate some of the tedious tasks. Fun fact: After reading on here about Deno Queues, I rewrote the message buffering and backoff completely and could greatly simplify the code. TL;DR - What is this: Get notification via - EMail (BYOSMTP) - Discord - Telegram if any (or only selected) containers on your host die or change their health status. I also tried to handle unexpected restarts of the container the tool is running in gracefully without loosing any events that happened before and even while the service was down. To make sure you are not spammed by notifications if a container goes into a restart loop, there is also a configurable exponential backoff function. I tried to make using the tool as easy as possible (by getting inspired on how monocker is set up). I would love to get some feedback and hear what you think (also if I just missed the perfect tool for the job: let me know, however the journey was quite fun). https://ift.tt/6Ma9lxb September 29, 2023 at 11:11PM
Show HN: Dolce – Get notified if something (bad) happens to your containers https://ift.tt/URyWu8Y
Reviewed by Manish Pethev
on
September 30, 2023
Rating:
No comments:
If you have any suggestions please send me a comment.