statuspage
A simple configurable status page for your hosted services. Reports issues via email.
Building
The usual rust build system. Just use cargo build --release
if unsure and use
the resulting binary in target/release/statuspage
. Once this is "stable
software" I will submit a PKGBUILD to the AUR.
Configuration
The configuration file uses YAML and is supplied by path in the first argument of the server. Until I make better documentation, you can infer usage from this example:
title: "metamuffin.org service status"
bind: 127.0.0.1:8000
interval: 60 # check interval in seconds
mail: # the entire mail section is optional
mail_from: status@example.org
mail_to: [admin@example.org]
smtp_auth: !plain # can be !plain, !starttls or !tls
smtp_server: 127.0.0.1
smtp_port: 8025
# smtp_username: admin # optional smtp auth
# smtp_password: hunter2
services:
- title: keks-meet
url: https://meet.metamuffin.org/ # url shown on the page.
# each service has a number of "checks" that need to
# be successful for the service to be considered working.
checks:
- !pacman keks-meet-server # this uses pacman -Q to check the installed version of some software
- !systemd keks-meet-server # this checks the ActiveState of a systemd service
- !http { url: https://meet.metamuffin.org/ } # this checks that status code of a HTTP request for success
- title: failing service
mail_to: [bob@example.org] # for this service, bob will be notified too
checks:
- !shell { title: "Do nothing unsuccessfully", command: "false" } # this runs a command and checks the exit code
License
AGPL-3.0-only; See COPYING
.