No description
Find a file
2026-05-13 10:50:19 +02:00
bin Add a defaults.conf with all scouts turned off. 2024-10-13 20:53:09 +02:00
etc letsencrypt cert check: full rework 2025-01-04 16:27:13 +01:00
libexec/hermodr letsencrypt: add -maxdepth 1 to find 2025-01-04 20:47:56 +01:00
.gitignore fix gitignore 2024-10-09 13:38:16 +02:00
LICENSE Initial test version 2024-10-09 13:39:35 +02:00
README.md Add letsencrypt to README 2026-05-13 10:50:19 +02:00

HERMODR

About

Hermodr is a simple system alert thingie. It runs a number of checks, called scouts, that send a notification if a non-acceptable condition is detected.

It is intended to run periodically, and will only generate output if a problem has been found (unless VERBOSE and/or MOREVERBOSE is set).

Its main alerting channel is ntfy.sh. Set ntfy_enable="YES" to enable it, and remember to change ntfy_topic to your own topic. It can also alert to stdio by setting stdio_enable="YES".

All files in the scouts/ directory need to have the executable bit set.

Currently, it only checks for:

  • High load avg
  • Letsencrypt certificates about to expire
  • Low disk space
  • Non-running processes (specific ones)
  • High CPU usage
  • High CPU temperature
  • zpool health

New checks are welcome!

Principles

  • Simple: Easy to set up, easy to use, easy to modify
  • Portable: Keep dependencies to a minimum

Dependencies

  • bourne-compatible shell
  • curl
  • Base components like bc, grep, awk, top

Installation

It can be run from its own directory, or it can be installed system-wide under a PREFIX like /usr/local. The main script is in ./bin, the common functions and scouts live in ./libexec/hermodr/. There's a sample hermodr.conf.sample in ./etc that needs to be copied to hermodr.conf.

Running

Run it in a crontab as often as you wish, e.g. 0 * * * * /bin/hermodr It does not need root privileges to run.

Portability

It is supposed to work on:

  • All BSDs
  • SunOS
  • Linux