Gatus¶
License: Apache License 2.0
This guide is tested with Gatus 5.36.0 on Uberspace 8.0.76. We can't guarantee it to work with newer versions.
Gatus is a config-driven, automated status page with alerting and incident support. It offers monitoring URLs based on a variety of conditions, such as status, response time or certificate expiration, as well as push monitors for services not accessible by Gatus.
Installation¶
Info
Since Gatus does not provide precompiled binaries, you may either build the binary on your own machine and then copy it to your asteroid or you may grab an unofficial binary for the latest version from digicommons/gatus-uberspace.
[isabell@moondust ~]$ mkdir ~/gatus && cd ~/gatus
[isabell@moondust gatus]$ wget https://github.com/digicommons/gatus-uberspace/releases/download/v5.36.0/gatus_v5.36.0_linux_amd64.tar.gz
[isabell@moondust gatus]$ tar -xzf gatus_v5.36.0_linux_amd64.tar.gz
[isabell@moondust gatus]$ rm gatus_v5.36.0_linux_amd64.tar.gz
If you did not compile the binary yourself, you may verify the checksum of the downloaded tarball before unpacking:
[isabell@moondust gatus]$ wget https://github.com/digicommons/gatus-uberspace/releases/download/v5.36.0/gatus_v5.36.0_linux_amd64.tar.gz.sha256
[isabell@moondust gatus]$ sha256sum -c gatus_v5.36.0_linux_amd64.tar.gz.sha256
gatus_v5.36.0_linux_amd64.tar.gz: OK
Configuration¶
Configure application¶
Create a configuration file (the application will fail to start without it):
[isabell@moondust ~]$ nano ~/config/config.yaml
Add at least one endpoint to the configuration file:
endpoints:
- name: website
url: "https://isabell.uber.space"
interval: 5m
conditions:
- "[STATUS] == 200"
Register as service¶
Create a service:
[isabell@moondust ~]$ uberspace service add gatus "$HOME/gatus/gatus"
Set up web backend¶
Note
The default port for Gatus is 8080.
To make the application accessible from the outside, configure a web backend:
[isabell@moondust ~]$ uberspace web backend add / port 8080 --force
Tuning¶
Persist data¶
By default, Gatus stores uptime data and events in memory. To persist this data between system restarts, configure a storage backend, such as SQLite or PostgreSQL.
Secure status page with authentication¶
Your Gatus status page may contain information about sensitive endpoints. If you do not wish to expose the dashboard publicly, consider securing it with either Basic Auth or OpenID Connect (OIDC).
Updates¶
Note
Check the release feed regularly.
Stop the service, then simply replace the binary by repeating the installation instructions. Finally restart the service:
[isabell@moondust ~]$ systemctl --user stop gatus
[isabell@moondust ~]$ cd ~/gatus
[isabell@moondust gatus]$ wget https://github.com/digicommons/gatus-uberspace/releases/download/v5.36.0/gatus_v5.36.0_linux_amd64.tar.gz
[isabell@moondust gatus]$ tar -xzf gatus_v5.36.0_linux_amd64.tar.gz
[isabell@moondust gatus]$ rm gatus_v5.36.0_linux_amd64.tar.gz
[isabell@moondust gatus]$ systemctl --user start gatus